Skip to content

Instantly share code, notes, and snippets.

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

Zhang, Zepeng (redraiment) redraiment

🏠
Working from home
View GitHub Profile
require 'active_record'
ActiveRecord::Base.logger = Logger.new(STDERR)
ActiveRecord::Base.colorize_logging = false
ActiveRecord::Base.establish_connection(
:adapter => "sqlite3",
:database => ":memory:"
)
@redraiment
redraiment / css_reset.rb
Created March 19, 2014 06:05
CSS Reset for all Web Browser
# minimize reset tag level, so that user can override them
styles = {}
Object.class_eval do
define_method :style do |tag, properties|
styles[tag] ||= {}
styles[tag].merge!(properties)
end
end
@redraiment
redraiment / erm.rb
Last active August 29, 2015 13:57
ERM: Embedded Ruby Macro, code to write code
#!/usr/bin/ruby
require "fileutils"
require "erubis"
require "yaml"
def erm(source)
content, data = "", {}
loop do
properties, fragment = File.read(source).split("---\n", 2)
@redraiment
redraiment / ejs.js
Last active August 29, 2015 14:01
Embedded JavaScript
var File = function(name) {
this.file = new java.io.File(name);
};
File.prototype.map = function(fn) {
var fin = new java.util.Scanner(this.file);
var content = [];
while (fin.hasNextLine()) {
content.push(fn(fin.nextLine()));
}
(defun current-sentence ()
(interactive)
(replace-regexp-in-string "\n" ";"
(substring-no-properties
(or (sentence-at-point)
(save-excursion
(backward-sentence)
(sentence-at-point))))))
(defun commit-last-js ()
@redraiment
redraiment / try-catch.c
Created August 4, 2014 05:32
Implement try-catch exception in C
#include <stdlib.h>
#include <stdio.h>
#include <setjmp.h>
jmp_buf __exception_context;
#define try if(!setjmp(__exception_context))
#define catch else
#define throw_exception longjmp(__exception_context, 1)
@redraiment
redraiment / gist:ec31dcb7b753f445a06c
Created September 4, 2014 10:13
layer.cornerRadius for left only
UIBezierPath *maskPath = [UIBezierPath bezierPathWithRoundedRect:_toggle.bounds
byRoundingCorners:(UIRectCornerTopLeft | UIRectCornerBottomLeft)
cornerRadii:CGSizeMake(8.0, 8.0)];
CAShapeLayer *maskLayer = [CAShapeLayer new];
maskLayer.frame = _toggle.bounds;
maskLayer.path = maskPath.CGPath;
_toggle.layer.mask = maskLayer;
@redraiment
redraiment / .gitconfig
Created October 15, 2014 12:41
Store git https password
[user]
email = redraiment@gmail.com
name = redraiment
[push]
default = simple
[credential]
helper = store
@redraiment
redraiment / ChineseSpringFestivalGift.c
Created September 6, 2012 11:56
A Gift for Chinese Spring Festival
#include <stdio.h>
long x[]={1, 3,6,8,0,0,0,0, 32,32,
4,32, 1022,32,1020,36 ,32,1022, 34,508,32 ,
32,509,34 , 508,32,36, 32,0,32,36,1022,508,80,
1023, 32,260 ,136,
32, 32 , 508 , 260,32 , 32,
0404, 514, 32,32 ,0,0,0 ,0x0,
994 , 0466, 0772, 47,548,950, 168, 296, 559,
694,69 ,174, 0x228, 0x3B6 , 01646,0141,01744,
01266 ,0124 ,2033
@redraiment
redraiment / comment_strip.rb
Last active October 10, 2015 07:27
Removes comments with C style (`//' and `/* */') in Ruby
require 'strscan'
lex = [/"[^\\"]*(?:\\.[^\\"]*)*"/, # string
/'[^\\']*(?:\\.[^\\']*)*'/, # char
/\/\*.*?\*\//m, # multi-line
/\/\/(?:.*?\\(?:\r?\n|\r))*.*/, # single-line
/.|\s+/] # rest
ARGV.each do |source|
stream = StringScanner.new File.read source