Skip to content

Instantly share code, notes, and snippets.

@CrBoy
CrBoy / exec.c
Created December 28, 2011 04:52
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
void redirect_to(char *filename)
{
int fd = open(filename, O_RDWR | O_CREAT, 0666);
@CrBoy
CrBoy / trap_test1.sh
Created March 17, 2012 14:46
The `trap' in bash scripts
#!/bin/bash
trap "echo TRAP!!; exit" SIGTERM SIGINT SIGHUP
for (( i=0; i<5; i=i+1 ))
do
echo $i
sleep 1
done
@CrBoy
CrBoy / paint_text.py
Created March 25, 2012 04:47 — forked from dannvix/paint_text.py
Paint text on given image with PIL
#!/usr/bin/env python
#-*- encoding: utf8
# sudo easy_install PIL
import Image
import ImageFont
import ImageDraw
import sys
import os
@CrBoy
CrBoy / README
Created June 22, 2012 04:53
Experiment of finding the difference of indirect variable access using eval() and locals() in Python
Use strace and ltrace to trace the runtime behavior
@CrBoy
CrBoy / tower.py
Created June 23, 2012 07:33
Colored Tower with animation
import time
import os
for t in range(60)*100:
for i in range(1,10,2)+range(7,0,-2):
print ' '*t+'\033[1;5;3'+str(t%5+1)+';4'+str(t%5+1)+'m'+'*'*i+'\033[m'
time.sleep(0.1)
os.system('clear')
@CrBoy
CrBoy / prime.py
Created June 23, 2012 08:48
Generate prime numbers example
num = range(100)
result = set(num)
for i in range(2,10):
result -= set(num[i*2::i])
result -= set([0,1])
print result
@CrBoy
CrBoy / magic_call.php
Created June 27, 2012 13:19
PHP magic function __call example
<?php
class MyClass
{
public function __construct()
{
}
public function __call($name, $args)
{
echo "You called method \"$name\", and the args is:\n";
@CrBoy
CrBoy / README
Created July 18, 2012 08:31
範例:使用 PHPMailer 透過 Gmail 寄送信件
本範例使用 PHPMailer (http://sourceforge.net/projects/phpmailer/) 發送 email。
首先需要注意的是,下載時有可能讓人困惑,我下載的是 http://sourceforge.net/projects/phpmailer/files/phpmailer%20for%20php5_6/PHPMailer%20v5.1/ 這個版本。
執行方式:使用 command line php 直接執行 `$ php ezgmail.php`
範例中包含設定方式、訊息樣板 (msg)、簡單樣板引擎 (fill_template)、名單的 parser (parse_name_list_tsv)與自動根據名單發信的範例,皆相當容易修改。
需注意的是,Gmail 有發送郵件相關的限制,若超過限制,帳號會被暫時停用一天。
@CrBoy
CrBoy / set_with_custom_class.cpp
Created August 12, 2012 08:12
Example of using set with custom class
#include <iostream>
#include <set>
using namespace std;
class MyClass{
public:
MyClass (int _x, int _y):x(_x),y(_y){}
bool operator<(const MyClass& rhs) const {
return this->x < rhs.x ? true : (this->y < rhs.y ? true : false);
@CrBoy
CrBoy / xor.py
Created April 26, 2013 16:06
簡單的 xor 程式
#!/usr/bin/python
import sys
infile = sys.argv[1]
outfile = sys.argv[2]
key = bytearray(sys.argv[3].decode('hex'))
b = bytearray(open(infile, 'rb').read())
i = 0