Skip to content

Instantly share code, notes, and snippets.

@fbstj
fbstj / smf-sql.php
Created Mar 16, 2010
SMF SQL wrapper (php)
View smf-sql.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";
@fbstj
fbstj / memlib.c
Created Jul 8, 2011
memory operations free of the standard libraries
View memlib.c
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 / C_CAN.c
Created Aug 4, 2011
Module for communicating with C_CAN device on C8051F500 and other
View C_CAN.c
/*
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 / HTMLOFF.js
Created Sep 6, 2011
HTML object notation, maps JSON to HTML tables and lists
View HTMLOFF.js
// 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 / Buffer.js
Created Jan 7, 2012
some extension methods and utility functions for ArrayBuffer
View Buffer.js
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 / greystring.js
Created Jan 11, 2012
detects strings who's characters are in a Grey-code sequence
View greystring.js
// 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 / Components.cs
Created Mar 23, 2012
some extension methods for Control
View Components.cs
public static int Value(this Control _, NumberStyles s, IFormatProvider p)
{
int d;
if (int.TryParse(_.Text, s, p, out d))
return d;
return 0;
}
public static double Value(this Control _)
{
double d;
@fbstj
fbstj / gist:2216990
Created Mar 27, 2012
Some abstract algebra interfaces/structs for Csharp
View gist:2216990
This gist has moved to FallingBullets/lib.cs on branch algebra
@fbstj
fbstj / ini.c
Last active Dec 11, 2015
ini file parsing
View ini.c
#include <string.h>
#include <stdio.h>
enum ini_parts {
ini_section, ini_key, ini_value,
ini_section_start = '[', ini_section_end=']',
ini_key_value = '=',
ini_comment = ';'
};
View ext.cs
using System;
using System.IO.Ports;
using System.Threading;
using System.Globalization;
namespace Terminal
{
static class Program
{
static void Main(string[] s)
You can’t perform that action at this time.