Skip to content

Instantly share code, notes, and snippets.

@ahamid
ahamid / gist:1665057
Created January 23, 2012 19:25
selectively adding hunk
[aaron@msi-cr620 workspace]$ cd hunk-test/
[aaron@msi-cr620 hunk-test]$ git init .
Initialized empty Git repository in /home/aaron/workspace/hunk-test/.git/
[aaron@msi-cr620 hunk-test]$ git branch
[aaron@msi-cr620 hunk-test]$ git branch -v
[aaron@msi-cr620 hunk-test]$ git status
# On branch master
#
# Initial commit
#
@ahamid
ahamid / transfer.sh
Created December 18, 2011 22:34
mirror unfuddle repo to bitbucket
#!/bin/sh
ufacct=$1
bbacct=$ufacct
uf=$2
bb=${3:-$uf}
echo "Cloning Unfuddle repo: $ufacct:$uf"
git clone --mirror git@$ufacct.unfuddle.com:$ufacct/$uf.git
cd $uf.git
@ahamid
ahamid / gist:1432300
Created December 5, 2011 04:28
Makefile with ld flags
objects = ../../../mk/kimg.o cpu-arch.o scr-print.o
fill = ../../../utils/fill
cpu_objects = main.o task.o pgrequest.o descriptor.o thread.o tss.o interrupt.o paging.o memory.o cpu-asm.o syscall-gates.o int.o pic.o state_switch.o stack_winding.o caps.o permissions.o ttrace.o
prt_objects = print.o vga.o
dependencies = main.d task.d descriptor.d thread.d tss.d interrupt.d paging.d memory.d print.d caps.d permissions.d ttrace.d
@ahamid
ahamid / gist:1432255
Created December 5, 2011 04:07
CMake linker flags
cmake_minimum_required (VERSION 2.6)
set(FILL_UTIL "${PROJECT_SOURCE_DIR}/utils/fill")
set(SIZE_UTIL "${PROJECT_SOURCE_DIR}/arch/i386/size.sh")
set(cpu_objects main.c task.c pgrequest.c descriptor.c thread.c tss.c interrupt.c paging.c memory.c caps.c permissions.c ttrace.c)
set(prt_objects print.c)
set(assembly_src cpu-asm.s arch/i386/kernel/int.s arch/i386/kernel/pic.s arch/i386/kernel/stack_winding.s arch/i386/kernel/state_switch.s arch/i386/kernel/syscall-gates.s arch/i386/kernel/vga.s)
#add_custom_command(OUTPUT assembly.o COMMAND ${AS} ${AS_FLAGS} -o assembly.o ${assembly_src})
@ahamid
ahamid / art.rb
Created November 28, 2011 07:38 — forked from duckinator/art.rb
#!/usr/bin/env ruby
i=0.0
loop do
print " " * (padding + (Math.sin(i) * 5)),
"Art and technology do coexist, if you let them\n\n"
i += 0.1
sleep 0.03
end
@ahamid
ahamid / gist:1380816
Created November 20, 2011 20:11
Rock segfaulting
https://github.com/ahamid/semblance/tree/break-rock
+ rm -r .libs rock_tmp
+ rock -lelf -v -m64 -Isrc -o=semblance src/semblance.ooc src/CallingConvention.ooc src/CodeSection.ooc src/DataSource.ooc src/Datum.ooc src/elf.ooc src/FakeISA.ooc src/Instruction.ooc src/ISA.ooc src/ISARegistry.ooc src/Parser.ooc src/ProgramObject.ooc src/semblance.ooc src/SimpleParser.ooc src/Statement.ooc
./make: line 5: 9359 Segmentation fault (core dumped) rock -lelf -v -m64 -Isrc -o=semblance src/semblance.ooc src/*.ooc
/**
* Allows for calling a method asynchronously and queueing pending callbacks to avoid
* race conditions.
*
* Example:
*
* function createUniverse(arg, callback) {
* // important stuff that should not run in parallel here
* callback(whatever);
* }
@ahamid
ahamid / gist:1129651
Created August 6, 2011 19:14
BinData + Veritas
class BinDataRelation < Veritas::Relation
def initialize(klass, io)
super([[:index, Integer]] + BinDataRelation.veritas_fields(klass), BinDataRelation.record_enumerator(klass, io))
end
protected
def self.veritas_fields(klass)
veritas_fields = []
for field in klass.fields
@ahamid
ahamid / gist:1019897
Created June 10, 2011 22:13
Monad in Java
// Created on Feb 7, 2009
package snippet;
import java.math.BigDecimal;
public class Monad {
// this is our "side effect" ("amplified object")
public static class AnnotatedObject<T> {
public T o;
@ahamid
ahamid / ImageUploader
Created May 27, 2011 16:51
CarrierWave mixed content upload processing
require 'carrierwave/processing/mini_magick'
class ImageUploader < CarrierWave::Uploader::Base
include CarrierWave::MiniMagick
IMAGE_EXTENSIONS = %w(jpg jpeg gif png)
DOCUMENT_EXTENSIONS = %w(exe pdf doc docm xls)
def store_dir
"files/#{model.id}"