December 23, 2009

Damaged Santa Robot

I know this is not quite Christmas spirit but I just watched "City of Ember" and had this mood of rusty machine so I drew this picture.

Lines: 3176
Dots: 316
Colors: 8
Average Line Length: 1 cm
Total Line Length: 33 meters
Color Map:



December 09, 2009

Box2DFlashAC3 Physics - Hello World

My first physics project using Box2DFlashAC3 library.Box2DFlashAC3 is an open source physics library by Colin Northway. Box2DFlashAC3 is an Actionscript port of Erin Catto's c++ physics library Box2D.

Source Code:

SourceForge download >>

Step by Step:

1. Prepare the project:
Create a project folder "helloWorld"

Download Box2DFlashAC3 and extract Box2D folder into flash class folder (FLASH_INSTALL_FOLDER\en\Configuration\ActionScript 3.0\Classes\Box2D)
or copy Box2D folder into current project folder (helloWorld/Box2D)

Create a scene file "helloWorld.fla"

In property editor, set the main class name to helloWorld. This tells flash compiler to look for Actionscript file "" in the same folder.

Create an Actionscript file ", and start editing it

2. Create a package, and a helloWorld class with constructor function hellowWorld():
package {
    // Built-in flash modules
    import flash.display.Sprite;
    import flash.text.TextField;

    // Box2D modules
    import Box2D.Dynamics.*;
    import Box2D.Collision.*;
    import Box2D.Collision.Shapes.*;
    import Box2D.Common.Math.*;
    public class helloWorld extends Sprite {

        public var m_world:b2World;  // world object
        public var m_iterations:int = 10;  // iterations for verlet intergration
        public var m_timeStep:Number = 1.0/30.0;  // time step
        public function helloWorld() {
            // Implement in step 3

        public function Update(e:Event):void {

            // Implement in step

        public function Reset(e:Event):void {

            // Implement in step

3.1 Start to implement helloWorld(), start with printing a Hello World Message:
var myText:TextField = new TextField();
myText.text = "Hello World - Click to reset particle position";
myText.x = 10;
myText.y = 10;
myText.width = 400;
myText.height = 20;

3.2 Construct a world object
// Create bounding box (AABB)
var worldAABB:b2AABB = new b2AABB();
worldAABB.lowerBound.Set(-1000.0, -1000.0);
worldAABB.upperBound.Set(1000.0, 1000.0);

// Define gravity
var gravity:b2Vec2 = new b2Vec2(0.0, 10.0);

// Allow bodies to sleep when rest
var doSleep:Boolean = true;

// Create world object
m_world = new b2World(worldAABB, gravity, doSleep);

3.3 Define variables to create bodies or body definitions:
var body:b2Body; // for rigid body
var bodyDef:b2BodyDef; // for body definition (position, density...)
var boxDef:b2PolygonDef; // to define box collision shape
var circleDef:b2CircleDef; // to define circle collision shape

3.4 Create ground static rigid body:
// Create ground body definition
bodyDef = new b2BodyDef();
bodyDef.position.Set(0, 11);

// Create box shape
boxDef = new b2PolygonDef();
boxDef.SetAsBox(30, 3);
boxDef.friction = 0.3;
boxDef.density = 0; // static bodies require zero density

// Attach ground sprite to body definition
bodyDef.userData = new PhysGround();
bodyDef.userData.width = 30 * 2 * 30; 
bodyDef.userData.height = 30 * 2 * 3; 

// Create ground body
body = m_world.CreateBody(bodyDef);

// Set body mass

3.5 Iterate 100 dynamic bodies:
for (var i:int = 1; i < 100; i++) {     
    // Implement step 8~9 

3.6 Generic properties for dynamic rigid bodies:
// Create dynamic body definition
bodyDef = new b2BodyDef();
bodyDef.position.x = Math.random() * 13;
bodyDef.position.y = Math.random() * 5;

// Set random x/y for later
var rX:Number = Math.random() * 0.4 + 0.3;
var rY:Number = Math.random() * 0.4 + 0.3;

3.7 50% chance to create a box:
// If we are creating a box
if (Math.random() < 0.5) {

// Create shape definition
boxDef = new b2PolygonDef();
boxDef.SetAsBox(rX, rY);
boxDef.density = 1.0;
boxDef.friction = 0.5;
boxDef.restitution = 0.2;

// Attach library item to body definition
bodyDef.userData = new PhysBox();
bodyDef.userData.width = rX * 2 * 30; 
bodyDef.userData.height = rY * 2 * 30; 

// Create box body
body = m_world.CreateBody(bodyDef);

3.8 Another 50% we create a circle:
// Else we create a circle
else {

// Create circle shape definition
circleDef = new b2CircleDef();
circleDef.radius = rX;
circleDef.density = 1.0;
circleDef.friction = 0.5;
circleDef.restitution = 0.2

// Attach library graphic to body definition
bodyDef.userData = new PhysCircle();
bodyDef.userData.width = rX * 2 * 30; 
bodyDef.userData.height = rX * 2 * 30; 

// Create circle body
body = m_world.CreateBody(bodyDef);

3.9 Finishing dynamic bodies creation
// Set body mass

// Add user data to stage

4. Implement Update()
public function Update(e:Event):void {
// Update current step

    // Advent solver to next step
    m_world.Step(m_timeStep, m_iterations);
    // Go through body list and update sprite positions/rotations
    for (var bb:b2Body = m_world.m_bodyList; bb; bb = bb.m_next){
        if (bb.m_userData is Sprite){
            bb.m_userData.x = bb.GetPosition().x * 30;
            bb.m_userData.y = bb.GetPosition().y * 30;
            bb.m_userData.rotation = bb.GetAngle() * (180/Math.PI);

5. Implement Reset()
public function Reset(e:Event):void {
// Reset body positions

// Go through body list and update sprite positions/rotations
    for (var bb:b2Body = m_world.m_bodyList; bb; bb = bb.m_next){
        if (bb.m_userData is Sprite && bb.IsDynamic()){
            var newPos = new b2Vec2( Math.random() * 13,
                                     Math.random() * 5 );
            bb.SetXForm(newPos, 0);


December 08, 2009

Christmas Tree in front of Century Theater

Christmas Tree in front of Century Theater
Originally uploaded by foundway

This is when they finished decorating the tree.

San Mateo Christmas Tree

San Mateo Christmas Tree
Originally uploaded by foundway

I happened to see they using fire fighter's ladder truck to decorate the Christmas tree. The tree is not that tall... I can't help to wonder: can't they just use a ladder?

Christmas Cookie Decoration

Christmas Cookie Decoration
Originally uploaded by foundway

We did this at work. My cookie is not so happy though...

December 01, 2009

Sitting Alone

I drew this very fast just wanted to try drawing something different. Keeping the background simple so I can wrap it up quickly.

Media: Facebook Graffiti, Wacom Tablet CTE-430
: 580x270 pixel

Dots: 63
Colors: 14
Average Line Length: 1 cm
Total Line Length: 51 meters
Draw Time: about 10 min

Color Map:



ActionScript Cheat Sheet

Very useful ActionScript 3 cheat sheet stealing from


    Box2DFlashAS3 is an open source port of Erin Catto's powerful c++ physics library Box2D. It seems like a good start for me to start my own physics games.


    November 30, 2009

    Smashed Blue Tooth

    I dropped my blue tooth earphone this morning and soon realized that on train. I seemed remember that hearing something dropping in front of our apartment. I was hoping that that was my earphone and it would still be there when I go home. And it did! Just smashed...

    I was just start to like to use my blue tooth. I used it to make phone calls and even listen to musics. I don't think I can live without it. I need to get a new one very soon.

    Raining by the ocean

    Media: Facebook Graffiti, Wacom Tablet CTE-430
    Dimensions: 580x270 pixel
    Model: N/A

    Lines: 5984
    Dots: 1000
    Colors: 39
    Average Line Length: 1 cm
    Total Line Length: 51 meters
    Draw Time: about 1 hour




    November 29, 2009

    Egg Curry

    Egg Curry
    Originally uploaded by foundway

    清冰箱的作品 - 蛋咖哩


    蛋 一顆
    咖哩塊 一塊
    糙米飯 2 杯
    香鬆 適量


    1. 蛋煮熟切片
    2. 咖哩堆泡熱水泡開加入蛋
    3. 煮好的咖哩澆在飯上即完成


    Originally uploaded by foundway

    Maya 自創的蔥油雞飯,很有家鄉風味


    雞腿 2 支
    糙米飯 2 杯
    蔥 一把


    Originally uploaded by foundway

    Maya 的隨意螺絲卷,材料多寡已經不可考了。而且本來還以為她是要做銀絲卷,結果做成螺絲卷。


    麵粉 隨意
    酵母 隨意
    豬油 隨意
    蔥 隨意


    1. 全部材料合起來卷一卷然後蒸一蒸
    2. That's all...


    Originally uploaded by foundway



    火雞腿 2 支
    糙米飯 2 杯
    豬油 (度小月肉燥) 少許


    1. 煮糙米飯。加少許蒜粒一起煮讓飯帶點蒜香。
    2. 火雞腿肉剝成絲。
    3. 豬油和火雞腿肉一起炒香
    4. 炒好的肉和飯拌勻就好了


    Originally uploaded by foundway



    豆干 4 片
    蔥 一把 (約5根)
    醬油 少許
    蠔油 少許
    辣油 少許


    1. 豆干切片
    2. 蔥切花
    3. 淋醬油、蠔油、辣油即可

    Flower arrangement in living room

    Flower arrangement in living room
    Originally uploaded by foundway

    Flower arrangement work by my wife, Maya. She put it aside our water fountain and suddenly our living room became a zen place.




    全文 >>

    November 26, 2009

    夢解 - 船和藍色大海

    在與朋友的聊天之中偶而聽說了「孵夢」這樣的心理運動。就是早上起來之後把夢記錄下來、分析,用來更加了解自己的方法。心血來潮之下用了一些以前在心理系所學到的東西試著分析了友人 M 的夢:

    M 氏之夢 11/26
    在教室裡,有一個老師/組員在旁邊,上紙雕課。要折一條船,成功的折了一個大船,很高興。另外有一隻大魚,可能是別的組員折的,和船配一組,也很高興。需要找海浪,發現別組有用藍色皺紋紙做的海浪。M 想要和別組合買,別組拿出一個很大包的 twin pack, 1.39 元很划算。今天的課結束之後把東西收起來下禮拜繼續。用東西擋著,立得很整齊很高興,剛剛好。

    到另一個教室,日文教室,有一排學生。老師是女生,一直講,很奇怪沒有字幕聽不懂。問旁邊的人說講老師現在是在講日文嗎?旁邊的人說對,M 很生氣,覺得被騙了,怎麼可以講日文。M 覺得大家都不會吧,結果旁邊的人馬上用日文回答老師的問題,M 驚訝萬分。


    M 是一個不拘小節,生活隨興的人。平常喜歡蒐集各式各樣有用或沒有用的小物品,例如廣告傳單、樹葉、宣傳手冊之類的。蒐集之後總是隨意的放在家裡。M 的老公是個有點潔癖的人,喜歡把東西歸類、放整齊。倆人因為收拾家裡已有過無數次的大小爭執。

    M 喜歡做料理,卻不喜歡按照食譜來做,所以雖然可以做出美味的料理,卻也常常失敗。即使是拿手菜也不是每一次都一樣好吃。在夢中的紙折的魚可以看作是料理,因為折一條魚就像料理一樣,需要用對的材料按照正確的程序才能成功。

    M 的老公常常和她說明家裡維持整齊的重要性,但她從來沒有聽進去,就像日文課的時候聽不懂老師說的話一樣。但是其實心中一直都有一部份其實是知道的,只是不想接受。

    所以從 M 的夢中其實可以看出:M 其實也希望把生活很有調理的整理好。折紙、折衣服,都是需要按照一定的程序和方法才能完成的工作。其實在潛意識中,M 似乎其實嚮往著一種簡單、有條理的生活。


    M 似乎覺得我的解釋很有道理,說不定這樣子對夢的一番理解真的對了解自己有所幫助。下一次試試看解自己的夢吧。


    November 25, 2009

    Previewing Synergy Trading Method

    The Synergy Trading Method was developed by Dean Malone and is an effective Forex trading method developed to simplify trading decisions with high probability precision. It combines the market forces of Price Action, Trend, Momentum and Market Strength to produce higher probability trades.

    Here is an article I found on web:

    I have to go to work, but I'll be looking more into this and post what I find.

    November 23, 2009

    Girl With Horns

    Drawing a cosplay girl with horn decorators. Although I am not sure what game or anime character she is playing, her look and the mood in that picture did inspire me.

    Drawing her hair is the most tricky yet interesting part. I can spend another 2 hours just draw and tweak details on the hair. But it was late at night and I decided to call it a day.

    I have never draw anyone wearing glasses before. This is new to me too. Surprisingly, although glasses covers most of her eye, it actually enhances the depth of her look.

    Media: Facebook Graffiti, Wacom Tablet CTE-430
    Dimensions: 986x459 pixel
    Model: N/A

    Lines: 4466
    Dots: 393
    Colors: 21
    Average Line Length: 1 cm
    Total Line Length: 56 meters
    Draw Time: about 1 hour



    November 20, 2009

    Forex System Research - Parmenides

    Average Stop : 30-100 Pips per position
    Average Limit : 30-100 Pips per position
    Start Date:  9/24/2009 10:42:05 AM
    Trade frequency: 40-60 per week
    Time frame: H1
    Trend or Reversal trader: Both
    Swing / Intraday / Daytrader: Swing
    System Description: 

    Utilized a custom developed version on Synergy Trading Method, which was developed originally by Dean Malone. It combines the market forces of Price Action, Trend, Momentum and Market Strength to produce higher probability trades. 

    The system identify and use two important trading components in real-time: Price Action and Sentiment. Price Action is market movement, such as the oscillation of Open, High, Low and Close prices. Synergy is designed to eliminate price distortions. It reveals periods of market strength and trend and periods of consolidation. Sentiment is the intuitive feeling or attitude of traders and investors in the market. For example, if the sentiment of the market is bullish, then traders and investors expect an upward move in the market. Often, sentiment is an indication of optimism or pessimism in the market based on recent news announcements or political events. 

    October 10, 2009

    Gothic Girl Wearing Feather Hat

    Inspired by Rachel Dashae's modeling picture on

    She looks just perfect in this gothic/fashion costume and I love her fairy-like look.

    Media: Facebook Graffiti, Wacom Tablet CTE-430
    Dimensions: 986x459 pixel
    Model: Rachel Dashae

    Lines: 4466
    Dots: 393
    Colors: 21
    Average Line Length: 1 cm
    Total Line Length: 56 meters
    Color Map:



    September 27, 2009



    最近看了信用記錄才知道三年前去看的一家診所竟然向信用公司舉報我沒付費?這怎麼可能?雖然是三年前的事,我記得當時收到的帳單寫的是費用由保險給付。我打電話去請他們重新寄帳單來,帳單上的確寫的是所有的費用都由保險給付,應付金額零元。重新打了一次電話確認之後竟然又寄給我一個新的帳單,所有的明細沒變只有最後的數字改了?再打一次電話請他們解釋,他們竟然威脅我付錢, 甚至不聽我的解釋就掛我電話。以前就有聽說很多不合理的故事:虛報帳單、任意加價、開錯處方不負責之類的,這下我才親身體驗到醫療產業的險惡。我的信用記錄被掌握在他們手中,我的手上只有一張列滿他們沒有做的事的費用的帳單…





    September 23, 2009




    這篇引起我注意的倒不是裡面提到的新科技,而是「少數派報告」倒底是什麼啊?想了一秒鐘我才知道原來是「Minority Report」…真的有人這樣子翻嗎?雖然比起「關鍵報告」來說翻得對多了,可是聽起來就是怪…
    借助Project Natal﹐遊戲玩家隔空出拳就可以殺死遊戲中的敵人﹐手比划出開車的動作就可以駕馭遊戲中的賽車。足球等一些視頻遊戲可以利用全身動作感應﹐一款滑板遊戲則可以讓用戶掃描下自己的滑板﹐然後他們在遊戲內的形像就會踏上這塊滑板...


    September 20, 2009




    September 19, 2009

    Night Imp Ranger

    Reference from a game character figure. That is a very well done figure. I kind of drew it in a different style.

    Drawing Progress:


    September 17, 2009

    Super Dollfie in Sailor's Uniform

    Dollfie in sailor's uniform

    I am still not very good at drawing in color. Need more practice....


    September 09, 2009

    Wildfires in Southern California

    A helicopter is just visible before large clouds of smoke from the Station Fire above Angeles National Forest on August 31, 2009 in Los Angeles, California. (Kevork Djansezian/Getty Images)


    September 01, 2009

    Model: Rachel Dashae

    Amazing reference for character drawing. This is Rachel Dashae, who is a model I found on She works with very talented photographers and produce fantastic galleries.

    Her personal page:



    Robot General

    Robot general who kills a lot of other robots. Painted with Facebook Graffiti.


    August 15, 2009

    My First Garage Sale

    We are having our first garage sale today. Arranging stuff and posting
    ads is a pain. It is quite interesting seeing other people shopping
    for my own stuff. Today is just the first day, and I wonder what the
    revenue will be in the end of tomorrow.

    Let Yourself Feel from Vimeo

    let yourself feel. from Esteban Diácono on Vimeo.

    Please enjoy this beautiful digital art piece by Esteban Diácono. I have been working in visual effects for years. For me, a dynamics simulator always means smoke, fire, dust... I've never expected that we can create this kind of beautiful pictures. Very inspiring!

    August 13, 2009

    Fly Patterns

    flight patterns from Charlie McCarthy on Vimeo.

    I would never expect flies draw such beautiful patterns. Surprisingly sometimes they draw perfect spiral trails. Is that some kind of fly dance?

    Script to Open Particle Expression

    Save this script to shelf or bind it to a key shortcut.
    string $ls[] = `ls -sl`;
    string $paShapes[\] = `pickWalk -d down $ls[0\]`;
    expressionEditor "" $paShapes[0\] "";

    Create Particle Stickiness

    This is quite simple, in runtime expression:
    if (waterShape1.collisionGeometryIndex != -1)
    waterShape1.velocity -= waterShape1.collisionNormal * $sticky;

    August 12, 2009

    Girl on cliff

    Another photoshop practice. Just trying to get myself use to my tablet. It is still rough in many areas, but I am just trying to get a basic lighting impression here.

    You are welcome to leave you comment here:

    Damaged House

    Damaged buildings are seen after Typhoon Morakot swept Kaohsiung county, southern Taiwan August 11, 2009. Helicopters dropped rescuers into a village in southern Taiwan on Tuesday to search for victims of a mudslide that may have buried up to 600 people after the typhoon hit the island, officials said.


    August 11, 2009

    Graffiti from Margot Henderson

    I found this Graffiti on Facebook by Margot Henderson. I like the way she handles the furs and water reflections. Graffiti has a neat feature that you can re-play the drawing process. This is very good feature for people like me who want to learn more about illustration drawing.


    August 06, 2009

    little red man on my bed

    little red man on my bed
    Originally uploaded by foundway

    This is my bed and the little red man. I might not be a king and I guess I do not want to be king either, but at least I can sleep like a king ^^

    Girl on a chair

    I hasn't have time to draw for a very long time. Just recently I finally re-open my sketch book and went to the figure drawing class in the company. Although my fingers are a little rusty, but I still enjoy drawing. Here is a evening project with PS + tablet for experiment.

    August 01, 2009

    Old Sketch - Alice

    I found these old sketches in my harddrive. Very interesting idea. I don't know what I am thinking when I drew this...

    July 31, 2009

    Hair Reference

    This is of course not me, but I am tired of browsing for hair catalogs in barbershops. So per one of my friends suggestion, I pick this one and I will print out and bring it to barbers the next time I am having hair cut.

    Mini Bar @ Work

    July 24, 2009


    Originally uploaded by foundway

    This is how I get home from work - train. And there are my backpack and helmet.


    Originally uploaded by foundway

    this is a corner of the bathroom of my apartment. it is nice and neat, isnt it?

    July 20, 2009


    I can post entries from my phone via email. Which is cool! Especially I am often too lazy to turn on my computer back home. So the best time for me to blog is when I sit in a train.

    -- Sent from my mobile device

    July 18, 2009

    Samsung Eternity as modem

    I like my new Samsung Eternity. My wife gave it to me as a surprise gift. It is not as powerful as iPhone, but it has just everything that I need: GPS, internet, music, java apps...

    Here is my note about how to connect my notebook to internet via GPRS:
    1. Install Samsung Modem Driver
    2. Go to Start -> Control Panel -> Network Connections
    3. Choose "Create a new Connection" -> Next
    4. Choose "Connect to the Internet" -> Next
    5. Choose "Set up my connection manually" -> Next
    6. Choose "Connect using a dial-up modem" -> next
    7. Choose any name you want for ISP Name (ie. Samsung Eternity) -> Next
    8. Type *99# in the Phone number field -> Next
    10. Password: CINGULAR1
    11. Confirm password: CINGULAR1
      * the username and password need to be all in caps
    12. Click Next

    Forex System - Scorebot SG

    Average Stop : 100-600
    Average Limit : 100-600
    Start Date: : 6/8/2009 10:35:29 AM
    Trade frequency: 15 – 20 per month
    Time frame : 60 min
    Trend or Reversal trader: Reversal
    Swing / Intraday / Daytrader: Swing
    We provide our users the MOST Comprehensive tool, Scorebot ATM (Computer programmed Auto-Trading Intelligence) with Multi-facet elements of proven Strategies.
    Our Key element of Strategies:
    1) Effective and Accurate Point of Entries (with > 72.5% accuracy)
    2) Effective Loss Minimizing Strategies (rather than conventional Stop-loss)
    3) Risk / Reward Management Strategies
    4) Dynamic Safety and Warning Zones (that keeps you from unnecessary risk exposures)
    5) Profit Range Dynamic Tracking and Locking
    6) and many other user-definable factors and strategies.
    very smooth curve. looks like a good value preservation system.

    Forex System Research

    System Name : Oleforex
    Pairs In System : GBPUSD
    Average Stop : 300
    Average Limit : 300
    trade frequency: 20/week
    Time frame: 1 H
    Trend or Reversal trader: Trend
    Swing / Intraday / Daytrader: Intraday and daytrader
    We are operating in different markets since 1999 and with forex since 2004 as our ideal market. We offer forex signals subscription for anyone who is interested. The system Oleforex opens 1 to 4 positions with GBP/USD as interday o daily, positions can remain open for the whole week if necessary. All positions have SL of 300 pips. The strategy is based on exploiting the tendency of the price of each hour, by using several indicators and analysis which was studied and developed by Oleforex.
    The asset curve looks smooth but has a drawdown of about 5000 in 07/2009.

    FXCM Forex System Selector Try Out

    I'm trying out the FXCM Forex System Selector recently. The idea of automatic trading sounds very good to me. Although I am also interested in writting my own trading system, I figure that I should first study how other professionals do it before diving in.

    So I opened a demo account with FXCM and choose three systems to start with: ElliotWave, A1776, and DBSwing.

    January 01, 2009

    Tackling computer generated clouds in 'Madagascar: The Crate Escape'

    Published after Madagascar 2 as second author. Computer generated clouds are an important component in the animated movie 'Madagascar: The Crate Escape'. Our particle based cloud system is used throughout the animated feature in collaboration with our Layout, Lighting and Matte painting departments.