Skip to content

Instantly share code, notes, and snippets.

View ifyouseewendy's full-sized avatar

Di Wen ifyouseewendy

View GitHub Profile
@ifyouseewendy
ifyouseewendy / distinct_file_logger.rb
Created December 10, 2015 14:56
Log to different files based on logging level using Ruby logger
require 'logger'
# Examples
#
# logger = DistinctFileLogger.new(STDOUT)
# logger.set_error_path('/Users/wendi/tmp/logger/error.log')
# logger.info "processing: 1/10"
# logger.info "processing: 2/10"
# logger.info "processing: 3/10"
@ifyouseewendy
ifyouseewendy / multi_level_page_table.rb
Last active December 5, 2015 10:47
Code work on Multi-level Page Tables, from Chap20, Operating Systems - Three Easy Pieces
class MultiLevelPageTable
PAGE_DIRECTORY_BASE_REGISTER = 108
# Save all intermedial state in binary string
attr_reader :pages, :virtual_address,
:page_directory_index, :page_table_index, :offset,
:page_directory, :page_directory_entry, :page_frame_number,
:page_table, :page_table_entry, :physical_frame_number,
:physical_address, :value
@ifyouseewendy
ifyouseewendy / js_pass_protect_from_forgery.md
Last active August 29, 2015 14:23
Make pure js POST request pass the `protect_from_forgery`, without Rails helper.

csrf.js

var csrftk = $("meta[name='csrf-token']").attr("content");

// Ajax set
$(document).ajaxSend(function(e, xhr, options) {
  xhr.setRequestHeader("X-CSRF-Token", csrftk);
});
# API
#
# + push
# + top
# + pop
# + empty
# + empty?
ArrayStack = Struct.new(:values) do
def push(value)
@ifyouseewendy
ifyouseewendy / local_assignment_over_method_sending.md
Created March 30, 2015 08:29
Remember, local assignment has precedence over method sending.

There is a weird situation I haven't noticed before:

class Counter
  attr_accessor :processed, :processed_names

  def initialize
    @processed = 0
    @processed_names = []
 end
@ifyouseewendy
ifyouseewendy / update_git_commit.sh
Created March 25, 2015 09:20
Update git commit history using git-filter-branch
git filter-branch -f --commit-filter '
if [ "$GIT_COMMITTER_NAME" = "<Old name>" ];
then
GIT_COMMITTER_NAME="<New name>";
GIT_COMMITTER_EMAIL="<New email>";
GIT_AUTHOR_NAME="<New name>";
GIT_AUTHOR_EMAIL="<New email>";
else
git commit-tree "$@";
fi' -- --all
HOST = ""
APP_KEY = ""
APP_SECRET = ""
REQUEST_TOKEN = ""
REQUEST_TOKEN_SECRET = ""
REQUEST_TOKEN_VERIFIER = ""
ACCESS_TOKEN = ""
ACCESS_TOKEN_SECRET = ""

from Binary and Bitwise Operations in Ruby by CooperPress http://goo.gl/4uQY7f

Bitwise

Representation

How to represent base 2, 8, 10, 16 in Integer?