Skip to content

Instantly share code, notes, and snippets.

View jvranish's full-sized avatar

Job Vranish jvranish

  • Grand Rapids, MI
View GitHub Profile
@jvranish
jvranish / queue_with_timeout.rb
Created May 20, 2014 15:14
Ruby pop with timeout implementation
class QueueWithTimeout
def initialize
@mutex = Mutex.new
@queue = []
@recieved = ConditionVariable.new
end
def <<(x)
@mutex.synchronize do
@queue << x
@jvranish
jvranish / dt-blob-dpi.dts
Created April 9, 2015 15:08
Raspberry PI B+ DeviceTree for 24-bit DPI LCD interface over GPIOs
/dts-v1/;
/ {
videocore {
clock_routing {
vco@PLLD { freq = <2000000000>; };
chan@DPER { div = <8>; }; // APER will be 500MHz
}; // clock routing
pins_bplus {
pin_config {
@jvranish
jvranish / broken.rs
Created May 17, 2015 17:57
Example that crashes rustc
/* automatically generated by rust-bindgen */
#![crate_type="staticlib"]
#[derive(Copy)]
pub struct StructUnnamed9 {
pub _bindgen_bitfield_1_: u32,
pub _bindgen_bitfield_2_: u32,
pub _bindgen_bitfield_3_: u32,
pub _bindgen_bitfield_4_: u32,
@jvranish
jvranish / read_with_timeout.rb
Created June 8, 2015 18:48
ruby read with timeout
def read_with_timeout(io_like, read_len, timeout)
timeout_time = Time.now + timeout
data = ""
loop do
begin
result = io_like.read_nonblock(read_len - data.length)
puts data
data += result
if block_given?
{-# LANGUAGE GeneralizedNewtypeDeriving #-}
import System.Timeout
import Control.Monad
import Control.Concurrent
import Control.Concurrent.MVar
send msg = do
--dummy stub
print msg
import Data.Tree
import Data.Traversable
import Control.Monad.State hiding (mapM)
import Prelude hiding (mapM)
test :: (Tree Integer, Integer)
test = markOrdering (Node undefined [Node undefined [Node undefined []], Node undefined []]) 0
markOrdering :: (Num t1) => Tree t -> t1 -> (Tree t1, t1)
import Control.Applicative
import Control.Monad
import Data.Foldable
import Data.Traversable
import Data.Monoid
import Data.Maybe
import Prelude hiding (head, tail)
{-# LANGUAGE FlexibleContexts #-}
module Main where
import Language.Gator hiding (sequence, mapM)
import Data.FixedList
import qualified Data.FixedList
import Control.Applicative
import Data.Traversable
import Prelude hiding (sequence, mapM)
module Main where
import Control.Monad
import Data.IORef
--import Debug.Trace
import System.Mem.Weak
import qualified Data.Map as M
import Prelude hiding (lookup)
class GameTcpSocket : public QTcpSocket
{
const int timeout = 2 * 1000;
GameTcpSocket(QObject* parent = 0) : QTcpSocket(parent)
{
}
template<class T> GameTcpSocket& operator<< (T data)
{
QByteArray block;