Skip to content

Instantly share code, notes, and snippets.

View whyrusleeping's full-sized avatar

Whyrusleeping whyrusleeping

View GitHub Profile
@whyrusleeping
whyrusleeping / rwlock.c
Created March 29, 2013 23:26
Reader Writer lock implementation from Isilon interview.
typedef struct RWLock {
int readers;
bool writer;
bool writeRequest;
}
void LockForRead(RWLock *l) {
m.Lock();
while(l->writer || l->writeRequest) {
m.Unlock();
@whyrusleeping
whyrusleeping / SimpleClient.go
Created March 7, 2013 00:49
Sample code for tonights tech club talk
package main
import (
"net"
)
func main() {
addr,_ := net.ResolveTCPAddr("tcp","jero.my:10234")
con, err := net.DialTCP("tcp",nil,addr)
if err != nil {
@whyrusleeping
whyrusleeping / gist:5066551
Last active December 14, 2015 09:39
golang mergesort, threaded
package gosort
import (
"math/rand"
"time"
"runtime"
//Extra for profiling
//"testing"
"runtime/pprof"
"flag"
@whyrusleeping
whyrusleeping / gist:5054299
Last active December 14, 2015 07:59
quick test code to listen for udp packets
package main
import (
"net"
"fmt"
)
func main() {
addr, _ := net.ResolveUDPAddr("udp",":9000")
ucon, _ := net.ListenUDP("udp",addr)
buf := make([]byte, 1)
for {
@whyrusleeping
whyrusleeping / gist:5027193
Created February 25, 2013 03:07
My solution to the problem i posted earlier
//Check whether the given subsequence occurs in the src
func SubsequenceOccurs(src, seq []byte) bool {
for i := 0; i < len(src) - len(seq); i++ {
if src[i] == seq[0] {
j := 1
for ; j < len(seq); j++ {
if src[i + j] != seq[j] {
break
}
}
@whyrusleeping
whyrusleeping / gist:5025652
Created February 24, 2013 21:14
example input for recurring subsequence problem
bdddbcbaaacdcbacdbbcdcacdddacdbaddbabdbcbccdbdcadbbbbdabacdddcbacabcdcdaccdcbdaadbbbbdbddccacdadadbcbddbdccbcacbdcabdbdcccbdccbcdbadbcdbacadadaaadacdaadaabdbcccddcccdcadaccdaacbdddcbadadcadcbcbaaadcaabadbcadcdaaddacaddbadbbdbbcacaaacbbaadcaadbbaadbbbabbddcacaaabddbccbcacaadcbabcaaacdbdbcdabdbdddbcddaaabcadccbcdccdcdadbcddcdaacbaadbcbcdcbadbccbdbaabbabcadacbdcdbaadbcacdcbabcdaabdccadabccdccdcabbcabcbccdaaaddabbcdabcbdbddbbddaadbcbbddabccadccbcccdcdcbbbdaccdcbdccbdbbaacbabacdcabcdbcbadadadbcdaccaadcdcbbbcdcbcbcbaaaadcabacbdbdbcaddbadcaabdbacbaacbdcadcdbacbbbbabacdbcdaacdcbdadaaddbacccbccccaacabacddbbbbcbcbccbbccaddbaabcdbdbaaaccddacaaccdaccdcbcacbccbbabcbcadbcbdacdcbdacacadcdbbbbdcbddcddddaadbdacbcddbdacbadaacdabaddddaddbcbbbdaddcaaaabaacdbacaddcadbcaaabdbcdacaabcdcdcdddacdacbabdcaabdaaadddbcdbbdaacacacbabaadaaabcdbbabacddcdbaacaaadddddcabdabaababcbdcbadbddaccddcbabbdbcbaacdbbbdbdadddacdcddaacdbbadbacbcaccacbbbbdcadabadaccbcdcbcbbacacdaddabdddbdccbbccdaacbcbbabaddabcbbacccbbadbadbcccccccbbdcdbacacbdbbabdbaaaacc
@whyrusleeping
whyrusleeping / gist:5001753
Last active December 14, 2015 00:49
A mockup for gocmdchat class structure
type Drawable interface {
Draw()
}
type Selectable interface {
Draw()
Select() //button clicked
}
type Rectangle struct {

##Control

This is our base class

	int x
	int y
	int width
	int height
	int max_height 		// defaults to height

int max_width // defaults to height

@whyrusleeping
whyrusleeping / strspl.c
Created February 7, 2013 00:42
The challenge problem for today will be to take a very long string and break it into tokens by a given delimiter, and print out each token.
Example input/output.
"the cat in the hat is very fat"
outputs:
the
cat
in
the
@whyrusleeping
whyrusleeping / splitStr.cpp
Last active December 11, 2015 13:39
my go to function for splitting a string into a vector of strings
vector<string> oGlModel::splitString(string s, char delim)
{
vector<string> retTok;
int beg=0,end=0;
for(int end = 0; end < s.length(); end++)
{
if(s[end] == delim)
{
retTok.push_back(s.substr(beg,end-beg));
end++;