Skip to content

Instantly share code, notes, and snippets.

@fbstj
fbstj / book-search.php
Created March 31, 2015 10:11
A search utility for unzipped epubs
<script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<style>
#view { float: right; width: 75vw; height: 98vh; }
nav { float: left; width: 20vw; height: 98vh; }
#nav { height: 100%; max-height: 90vh; overflow-y: scroll; }
.active { font-weight: bold; }
</style>
<title>Book search</title>
<iframe name=bob id=view src=blank.html></iframe>
<nav>
@fbstj
fbstj / CANframe.rs
Last active August 29, 2015 14:13
Rust things
enum ID {
Standard(u16),
Extended(u32)
}
enum Payload {
Value {
length : u8,
data: [u8; 8]
},
Remote(u8)
@fbstj
fbstj / RepeatButton.py
Created July 15, 2013 13:18
a tkinter (ttk) button extension that repeatedly invokes the command whilst the button is held down, includes a simple exponential acceleration
from Tkinter import *
from ttk import *
class RepeatButton(Button):
def __init__(self, _, **kw):
Button.__init__(self, _)
self.config(**kw)
self.bind('<Button-1>', self._start)
self.bind('<ButtonRelease-1>', self._end)
def _start(self, event):
self._delay = 1500
// count down to zero
num -= !!(num - 1);
// count up to MAX
num += (num < MAX);
def signed(chars, index = 0, length = 16):
"""convert a `length/4` character hex string into a signed `length`-bit number"""
v = int(chars[index:][:(length / 4)], 16)
return v if v < (1 << (length - 1)) else v - (1 << length)
@fbstj
fbstj / ringbuffer.h
Created February 15, 2013 09:11
A ring-buffer generation utility
/*
simple ring buffer
*/
#ifndef RING_BUFFER_H_
#define RING_BUFFER_H_
enum E_RING_BUFFERS { e_RING_OK = 0, e_RING_EMPTY, e_RING_FULL, e_RING_ERROR };
#define T_RING(T, tag, len)\
struct tag { T buffer[len]; unsigned int head, tail; };\
@fbstj
fbstj / ext.cs
Last active December 12, 2015 10:39
using System;
using System.IO.Ports;
using System.Threading;
using System.Globalization;
namespace Terminal
{
static class Program
{
static void Main(string[] s)
@fbstj
fbstj / ini.c
Last active December 11, 2015 23:09
ini file parsing
#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 = ';'
};
@fbstj
fbstj / gist:2216990
Created March 27, 2012 15:27
Some abstract algebra interfaces/structs for Csharp
This gist has moved to FallingBullets/lib.cs on branch algebra
@fbstj
fbstj / Components.cs
Created March 23, 2012 14:32
some extension methods for Control
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;