Skip to content

Instantly share code, notes, and snippets.

View tamouse's full-sized avatar
🏠
Working from home

Tamara Temple tamouse

🏠
Working from home
View GitHub Profile
@mwlang
mwlang / log.rake
Last active August 29, 2015 14:21
This set of tasks scans a Ruby Logger file and tallies timestamps. It finds first timestamp and last timestamp recorded in the log and prints out start/start times, elapsed time, and the logfile it scanned. Additionally, if you use the Sequel gem and log SQL to the log file, it extracts the SQL, parameterizes those SQLs so we can group 'em and g…
namespace :log do
def timestamp line
values = line.match(/(\d{4})\-(\d{2})\-(\d{2})T(\d{2})\:(\d{2})\:(\d{2}\.\d{6})/).captures
Time.new(*values.map(&:to_f))
end
task :timestamps do
Dir.glob(File.join(log_path, '*.log')).each do |fn|
top = `head -n 2 #{fn}`.split("\n")
top.shift if top[0] =~ /Logfile created/

TinyVM

TinyVM is a simple register based virtual machine implemented in C (tinyvm.c). The bytecode assembler is written in Python (tas.py). TinyVM has 4 registers ($0 - $3) and 64k of memory in a 32-bit address space (0x00000000 - 0x0000FFFF).

Each instruction is encoded in a single 64-bit word. Register count and memory are defined at compile time, but due to only having 32 bits available for addressing and 8 bits for registers, allocating more than 4GB of memory or 256 registers is pointless.

The following instructions (loosely based on MIPS) have been implemented:

No.    | Keyword | Instruction                   | Example            | Description

-------|---------|-------------------------------|--------------------|------------

@tamouse
tamouse / MOVED.md
Last active August 29, 2015 14:08
My Rails Application Template

This has been moved to a regular Github repo:

/*
Basic Usage
===========
Assuming your markup looks like this:
<table id="table" class="table"></table>
<div id="pagination" class="text-center"></div>
cons = ->(x,y){ ->(a){ a.(x,y) } }
car = ->(c){ c.(->(x,_){ x }) }
cdr = ->(c){ c.(->(_,y){ y }) }
pair = cons.(1,2)
puts car.(pair)
puts cdr.(pair)