Skip to content

Instantly share code, notes, and snippets.

View gist:731468
struct foo {
float *stuff;
int offset;
float operator[](size_t i) const
{
return stuff[i + offset];
}
float &operator[](size_t i)
@eyston
eyston / gist:910952
Created Apr 8, 2011
Please help this ruby idiot mock something
View gist:910952
def MPQ path
path
end
class ReplayFile
def initailize path
@archive = MPQ(path)
end
end
View gist:969602
// Scala's for comprehensions can be used like Haskell's do notation for monadic code, ie. its a compact way to string together computations sequentially.
val f = for {
a <- Future(10 / 2) // 10 / 2 = 5
b <- Future(a + 1) // 5 + 1 = 6
c <- Future(a - 1) // 5 - 1 = 4
} yield b * c // 6 * 4 = 24
val result = f.get()
@eyston
eyston / gist:1016863
Created Jun 9, 2011
Ruby Events? Maybe?
View gist:1016863
class EventBus
def self.publish event args
@subscribers[event].each do |sub|
# whatever meta stuff sends event to method on object (handler) :p
end
end
def self.subscribe event, handler, method
@subscribers[event] = { :handler => handler, :method => method }
@eyston
eyston / gist:1034701
Created Jun 19, 2011
Message Bus Blog Example
View gist:1034701
module MessageBus
class MessageBus
@handlers = {}
def self.subscribe message, handler, method
@handlers[message] ||= []
@handlers[message] << { :handler => handler, :method => method }
end
def self.send message, args
@eyston
eyston / gist:1061591
Created Jul 2, 2011
Example of Akka Actor Become
View gist:1061591
import akka.actor.Actor
// defining messages -- Object = singleton, case class = DTO (sorta, generally)
object Born
case class Evolve(numberOfNeighbors: Int)
object Status
// receive is the method that handles incoming messages.
// alive: Receive and dead: Receive are defining alternative ways to respond to messages
// these will be switched on during runtime
View gist:1205296
// controller
[CanViewProfile]
public ActionResult Show(int id)
{
var view = new ShowProfileQuery(id).Execute();
return View(view);
}
// before filter
View attempt1.fs
// possibly tail recursive :p
open System.IO
// Seq.toList because I don't know how to pattern match an empty sequence :)
let folderWithDepth' path depth =
try
System.IO.Directory.EnumerateDirectories(path) |> Seq.toList |> List.map (fun d -> (d, depth))
with
| _ -> []
@eyston
eyston / gist:1257990
Created Oct 2, 2011
FSharp Interactive Textmate Command
View gist:1257990
EXPR="$(cat | sed 's/\\/\\\\/g' | sed 's/\"/\\\"/g')"
export SHELL_NAME=${SHELL_NAME:="FSharp Interactive"}
export SHELL_INTERPRETER=${SHELL_INTERPRETER:="fsi"}
osascript << END
tell application "Terminal"
activate
set _foundTab to false
View gist:1276743
type Greeting = () => String
def greet(g: Greeting) = {
println(g())
}
def hello() = { "hello from Huey" }
greet(hello) // >> "hello from Huey"
You can’t perform that action at this time.