木匠的微型博客 Charlie Twitter

    follow me on Twitter

    Monday, October 27, 2008

    过周末autumn weekend

    星期六我们睡了个懒觉,10点多吃过早饭,当天Victoria Times Colonist(维多利亚日报)广告福特Escape SUV下调$5000, 3升6缸前驱, 6气囊,自动档,空调和自动门窗. 从$28,539 降到 $23,539. 马上赶往车行.

    等到了以后,才知道广告车型只剩下一辆,还是老鼠黑色(深青色),
    选来选去,中意一个2008款四驱白色和一个2009款前驱大理石色,都是$26,000多, 36个月0%利息,月供$900. 想想眼下糟糕的经济, 最终放弃了.

    折腾完了,都两点多了,按照A计划,到红谷仓(Red Barn)农贸市场买了大半个星期蔬菜水果.
    为了让岳父岳母快速适应加拿大,我们给很多地名起了中文名, 比如贝壳山,橡树湾,皇家橡树,说给同龄人,他们反而丈二和尚摸不着头脑. 我们住的小区叫链条,更觉古怪.

    周日上午顺着新家北面的仙湖(马鹿湖Elk lake)来回走了5公里(转一圈是10公里), 仙湖的名字是西安老乡"开吻"给起的.来加拿大3年多了,坐满了移民监,才开始享受免费图书馆福利,新家紧挨着一个图书馆,就顺便办理个借书证.

    周日下午看了一张陈冲的DVD, 一般都是糟蹋中国人, 又一次得到验证.
    故事讲的是纽约华人48岁寡妇与20多岁小伙热烈相爱,寡妇怀了小伙的孩子,寡妇的女儿(一个医生)却是个同性恋, 寡妇还喜欢看毛片, 角色们全是华人.

    我岳父岳母,一个月走之前讲过,二三十年前他们工作时,每周只有星期天一个休息日,周末就像打仗,拆洗被子,打蜂窝煤,忙忙碌碌一整天,喘不了一口气,比上班还累.

    到底社会进步了, 使我们有更多的时间玩耍和娱乐.

    Friday, October 24, 2008

    Translate root cause "问题根源"分析

    昨天读了老刘(Jonathan Lewis)的一篇时评文章,非常有趣,在征得老刘的同意后,在此翻译成中文.

    http://jonathanlewis.wordpress.com/2008/09/26/root-cause/

    标签: 架构, 解难, 幽默

    现今有一些(计算机)行业的表达方式惹恼了我 - 不必有一个好的理由,仅仅因为听起来极端的自命不凡,并且被做市场的放到一起. (狂妄自大, moi !)

    比如: "问题根源分析","整体全面方法" 等等 - 不过是重复在讲 "我们和别人解决问题的方法是一样的, 但要起一个好听的名字,使人们相信我们做的会更好,更有意义".

    每当他们提供这些无价值东西的时候, 我总是喜欢用相反的观点来比较,看看会得到什么印象:

    "我们采用全面整体方法" = "别人只看局部"

    "我们重点放在问题根源分析上" = "别人不会发现真正的问题在哪里"

    像这样, 只是换个说法, 没有任何额外价值. 你渐渐识破他的诡计和谎言.

    不过, 我近期看了一篇有才气的问题根源分析. 他是这样开始的:

    问题: "为什么我们开始 长时间等待 log file sync(同步写日志文件)?"
    答案: "因为经济衰退, 笨蛋."

    的确 - 这就是问题根源 (尽管我想引用 克林顿 1992年竞选宣言)

    说说他的来龙去脉.

    房价下滑(因为经济), 银行紧缩贷款(贷款多数是用来购买房地产)**.就是说他们放慢了贷款申请的处理速度.

    贷款申请有四种状态: 新申请,在线处理,批准,拒绝. 突然间很多申请被滞留在"正在处理"状态.

    办公室职员上班时间的多数工作集中在"正在处理"状态的申请, SQL 访问请求急剧增加, 使用更多的CPU. CPU负荷增长, 尽管(写)事务量没有变,写日志个数没有变, 日志文件同步的往返信号传输时间就会延长.

    因此 - 当房价下滑, log file sync(日志同步)等待时间延长. 这就是所谓的根源分析.

    脚注 - 这不是一个有关信息系统的准确描述, 但是经济变化可以影响数据库性能.

    ** 近期一份时代杂志指出, 银行相互竞争, 看谁能给出最低的交易.
    大概因为他们不得不继续发放贷款, 在市场上继续生存, 而不愿被别人摘牌(收购).

    经济危机

    [09:33] 木匠: 兄弟咋样了? 有没有受到金融危机影响?
    [09:34] 队长: 还没感觉到
    [09:34] 队长: 你那情况如何
    [09:35] 木匠: 这个月, 才开始, 加拿大慢一点, 1~2 年滞后
    [09:35] 队长: 那慢慢熬吧
    [09:35] 队长: 不成就回来躲几年
    [09:36] 木匠: 一个可选项,
    [09:36] 木匠: 不过国内也不好过了, 大批南方工厂关门大吉
    [09:37] 队长: 说实话国内情况也不会好
    [09:38] 木匠: 或者休假, 或者再教育
    [09:38] 队长: 年纪大了, 再教育不动了
    [09:39] 木匠: 没啥好招了
    [09:39] 队长: 睡觉去了, 改天聊

    上下文注解:
    木匠 在加拿大一家书店工作,刚刚被亚马逊收购. 预计2009年图书销售会下降40%.
    队长 在国内思科工作.

    昨天跟老朋友Chao也聊了好久,他那里情况同样不容乐观.
    由于涉及到一些心情文化隐私, 就不发表了.

    一介小民,难以回天,帮一个算一个.

    Sunday, October 19, 2008

    Amazon DBA team info exchange 书店DBA技术交流

    周五吃完午饭,和Amazon DBA team 进行了技术交流,
    (Amazon上个月收购了我们公司AbeBooks, 下文详解)

    我其实想问问 西雅图(Seatle)那边的DBA市场, 当时人多, 没有好意思问.
    听说维多利亚这边一些华人去了微软,那边生活成本低,房子便宜,收入又好,去的人基本不打算回来了.
    希望以后人员交流, 派我过去工作几个星期.
    维多利亚(Victoria)距离西雅图比较近, 隔着欢德福卡海峡(Strait of Juan de Fuca),坐船一个小时.

    内容如下,

    *) suggest move away from RAC for OLTP database, remove one big central database, function split to many small databases, Amazon got 100+ databases.

    - Cluster ware down, database down
    - one instance hang, database hang
    - painful global lock control
    - Lot’s of issues with RAC
    # Add database file make RAC database hang (happened in Amazon)
    # enq-US (undo segment management) cause slow Global cache/message transfer

    *) Suggest Open source Linux over other Unix

    *) Suggest cross platform and cross Oracle version standby database to help upgrade, will check the configuration certification to confirm it.

    *) Suggest batch commit (SQL> COMMIT BATCH NOWAIT) for Inventory data loading row-by-row auto commit jobs

    *) Oracle Active Data Guard Option enables real-time read-only access to a physical standby database to offload queries, sorting, reporting, web-based access,

    *) Enable fast-start failover to fail over automatically when the primary database becomes unavailable, proven stable,

    we’ll implement above 2 options after upgrade to 11.1.0.7 in 2009 spring.

    亚马逊的OLTP数据主要跑在10.2.0.4, 他们对11g第一个补丁集还不够放心.

    今日提示: 来自 Pythian Group Blog » Log Buffer #119

    Oracle 刚刚发布是早期Data Modeling工具, 这里下载, modeling download

    main data modeling page: Modeling

    Friday, October 17, 2008

    2009 OOW

    今年很多DBA朋友从中国到旧金山参加了Oracle Open World, 馋的木匠口水长流.
    终于领导建议并批准我明年前往, 暗自窃喜.

    这里是预算, 去过的DBA同行, 看看够不够?

    Oracle Openworld Conference 2009
    a. Conference Name – Oracle Openworld Conference 2009
    b. Conference Date –Oct 11-15, 2009
    c. Number of Attendees – 1 x Dev - Charlie
    d. Conference Cost - $2600 US
    e. Flight Cost - $1000 – Estimated
    f. Hotel Cost - $1200 – Estimated
    g. Taxi Cost - $200 – Estimated
    h. Meals - $250 – Estimated

    另外咱非常喜欢红色的边境牧羊猎犬(Border Colli), 原以为维多利亚就能找到培育场,
    偶然碰到公园玩耍的(Border Colli)狗友介绍, 需要远道 拉斯维加斯 才能够拿到优良品种的幼犬, 近一点也要到多伦多, 而且价格高,质量差.

    所以这一趟还可以顺便接回几只小狗.

    Wednesday, October 15, 2008

    成功投标 win bid project

    记录一下, 庆祝成功获得UVic(维多利亚大学) 海洋研究项目Oracle 技术咨询合同,
    这是今年接到的第三个项目, 可以帮助我完成年收入增加25%的目标(经过矫正, 以前是+100%),
    咱的小时工资又涨了,这次是$90,逐步靠近$120每小时的理想时薪. ^_^ :)
    该项目主要研究美国和加拿大西海岸海底生物,以后会补上他们的网站地址.

    下面是标书节选

    - a total of ##hours of Oracle expert consulting.
    - on-site support of our systems team for setting up and configuring Oracle 11g servers for high availability, including replication to an outside system and performance optimization for the type of data we are storing
    - other technologies in which the consultant should be proficient include: storage use strategies, partitioning, warm-standby and replication using DataGuard or other systems
    - provide basic Oracle 11g on-site training to developers and DBA.

    下篇预告, 翻译老刘的 "Root Cause"

    Tuesday, October 14, 2008

    Victoria IT Club 维多利亚IT俱乐部 节目单

    在这里刊登个广告.

    2008冬天 三个月 Victoria IT Club 节目单:

    10月18日,本周六的知识共享主题是: 可扩展性网站架构
    -- 之 如何构建一个低成本线性扩展的数据库系统.
    -- To scale the transactional throughput of a web-based system.

    11月主题: 爬山 Mount. Finlayson, 体力差的,观赏三文鱼洄游.

    12月主题: TDD(Test Driven) and QA自动化, 正在寻找主讲的志愿者, ...,欢迎您主讲.
    -- 报酬: 木匠 请您到 温哥华 Richmond 老四川 暴食.


    有钱的捧个前场,没钱的捧个人场. ^_^.

    Victoria IT Club hold free IT Seminars on 3rd Saturday 2:30pm every month at
    EBC church second floor meeting room. After each seminar we'll play
    basketball at Church Gym. www.ebcvictoria.ca

    Address: 2121 Cedar Hill Cross Rd.

    p.s. 参考:

    1) BASE: An ACID Alternative
    http://acmqueue.com/modules.php?name...owpage&pid=540

    2) Scalability Best Practices: Lessons from eBay (Partition and Asynchronously)
    http://www.infoq.com/articles/ebay-s...best-practices

    *) 老朋友 Fenng 的 系统架构方面的文章汇总.
    http://www.dbanotes.net/arch

    3) 金鱼溪
    http://www.goldstreampark.com/

    Monday, August 25, 2008

    老妈的创业故事

    前文讲了老爸的奥运故事, 再来看看老妈退休以后的创业传奇故事.

    以下引自我老爸的另外两封家信.

    << 这个邮件专说你妈。 昨天是星期天,我们两人去洛南玩了一天。洛南最北边的巡检镇有个老君山,处华山之阳,数峰并立,山势陡峭,墨绿青翠。传说道教鼻祖老子曾在此活动。我的看法,洛南县相学商南县造金丝峡、山阳县造月亮湾旅游景观一样,和一外地人签约,合伙开发。眼下开发公司成立,在商洛市区办公。工程已经启动,理想远景不次,登山道路草成。同行的30几个人,包了5个面包车,两个小时行程,9.30到达,稍事休息,10点登山,午时到顶峰,个把钟头下山。中午美餐一顿,5点到家。你妈参与了这公司,每天上班,月薪600。景点下有泉水流出 ,他们想办个饮水厂,将来生产饮用水。你老妈现集资5000,憧憬着以后捞个大元宝。当然呀,不用说我这次去,还是沾了你妈的光。她还向我吹嘘,过几天还有去河南南阳机会。我这个家属当然等待着这“宝贵时刻”的到来! 你老妈花甲之年已过,仍雄心壮志,似有魏雄曹操诗“烈士暮年,壮心不已。老骥伏枥,志在千里”之心!也好。人活着就得有个事干,总比无所事事好。 (上午你来了电话,我到河里洗衣服去了。昨天上山出了几身汗,那个路呀,好几处用壁立形容不为过。想象做成水泥台阶之坚啦!) 前一所告,洛南县的老君山景点在华山之阳,规划两景点修一条公路,游了华山,顺便就到了老君山,它的远景许是可观的。老白集资一万,签订半年合同,也参与其内,成了那个公司的一名员工,宣扬集资,往返洛南,每天忙个不停。曾因登山得奖200元,上月奖金收入一千多元,不说那几百元工资了。然她这山望着那山高,前一阵经熟人绍介,已经面试,想到西安南郊某酒店当大堂经理,工资千多,加奖金月收两千多,住有一间小室,吃就包了。对她来说,这无疑是很诱人的。但是,违约自退,集资不给,损失也是够大的;酒店答应给补5000,自损一半。后经请教别人,还有我的“训示”,西走的念头慢慢打消了。现“安”下心来,到旅游公司上班。 商洛学院已放假,女子却忙着改卷子。咸阳地区的中考试卷商洛包了,大概再有四、五天结束。她还准备到上海、苏杭一游,学校组织的。都很忙,就我闲了。 >>

    嘻嘻, 咱老妈也要做大堂经理啦. 以后路过西安住店, 遇到麻烦事,就找老妈投诉好了.

    老爸的奥运评论 结局篇

    16天的奥运盛事,昨天晚上落下了帷幕。不管是开幕式,还是闭幕式,异常精彩。这,也许因为我们是中国人,很欣赏东方的文化,然国际奥委主席罗格先生称本届奥运无与伦比,废弃了以前俗气的赞扬。昨天下午2.30,美国对西班牙的男篮决赛,更是引人入胜,是我多年来未欣赏到的一场经典之战,也算是无以伦比吧。16天,加上开幕式,有半个来月,我每天上午、下午、晚上观赏不止,精彩之处赏心悦目,但也确实累了,我将用两三天休息弥补之。

    明天就是你的生日了,女子中午吃饭时还在述说。我,就以奥运会的圆满结束这一盛事,聊以记之。

    Thursday, August 14, 2008

    老爸的奥运评论 - 续1

    12日看了三场。头一场上午10点半的女团体操决赛,美国劲头强盛,前三轮领先压着中国处首位。第四轮高低杆是中国的强项,一句窜到了美国前面。第五轮平衡木,中国首先出场的队长就掉了下来,所有的人都捏着一把汗。谁知美国队首先出场的,第一个动作倒反上杠,也掉了下来。最后中国队以两分的优势摘下了这块金牌。这是中国在这个项目上第一次拦金,值得庆贺。下午看了一场女篮,中国对阵新西兰。之前的一场中国和美国的较量,中国女篮输得一塌糊涂。这一场中国重振雄威,赢了20多分,比较轻松地拿到了胜利。晚上的中古女排较量,开始两局,使古巴落花流水。然它毕竟是个强队,第三局的尾声时节古巴逆转,第四局的比分交替上升,直打到32:30,古巴才赢。决定胜负的最后一局,我太累了,没有看.

    由于在加拿大看不到中央台奥运会直播, 老爸就在中国想评论,然后Email给我看.

    Wednesday, August 13, 2008

    我老爸的奥运会评论

    昨天看了两场比赛。上午10点开始的男团体操决赛,中国队的表演真是美轮美奂,令人叹为观止。内中有个四川的小子,个头不高,年龄不到20,是个新秀,表现尤为出色。当然啊,中国获得了金牌,洗雪了上届雅典奥运会的逊色。另一场是下午中国对阵西班牙的男篮预赛。这次奥运中国男篮抽签运气不好,组内有美国、西班牙、德国强手,稍次的安哥拉,也虎视眈眈。头一场就对阵天字号美国队,开场还可,不用多说是会输的,但打出了点气势。中西对赛真是好看,中国一反前态,一直压着西班牙打,到了最后几分钟,它才超了几分,但终场打了平手。中国队员使尽了力气,5分钟加时赛才输了球,犹如解说嘉宾所言,虽败尤荣。

    Friday, May 16, 2008

    买房记 第二年

    今年美国经济一片糟糕, 有新人DBA朋友在纽约, 亲身经历身边裁员声此起彼伏,包括IT部门. 加拿大近三个月经济急剧恶化,眼看要面临衰退.
    中国又是藏独,紧接着地震,人灾天灾. 还要靠信心毅力坚持把奥运办好,这是我们祖国由懦弱到富强的转折点.
    ( 我淮河(岳母)也是第一次在中央台见到雪山狮子旗, 作为土生藏族人, 从不知道有这么个蓝色旗子存在. )
    木匠的大年撞上了加拿大经济形势的小年,该冒进,还是稳守,不好判断. 以后有机会再介绍人生大小年定律.

    说到移民, 理想生活景象是: 一个房子两辆车, 两个孩子一条狗.
    说到买房子, 经历了2007年的屡次挫败, 步入2008年春夏之交, 终于全家老小又大力投入了买房子斗争当中.

    由于经济形势在变差, 昨天吃完饭时问及泰山泰水(岳父母), "买涨还是买跌", 泰山答道, 通常人们都在追涨买涨,只有慧眼有远见之士会买跌. 因此我们也加大砍价力度,一口气压下5万,屋主竟然答应了.

    作为家庭第二主力,马上开足马力,花了整晚时间浏览小区委员会给的3年维修记录,
    谁家门口台阶楼梯加个扶手, 哪家延伸木板凉台, 哪家浇水喷头坏了,哪家修篱笆,哪家种树预防高尔夫球砸碎窗户 等等.
    最有意思的是我们要买的58号, 从头到尾在说一件事情,就他家的Staffordshire terrier狗.

    比如说拉屎不清理,毁坏草坪,吠叫,恐吓居民, 结果被小区居民控告举报, 而且举报内容非常详细,包括年龄,性别,品种,尺寸和重量,一一写进小区委员会例会记录里面. 老加(加拿大人)真是实诚.

    最重要的是,新屋近靠Commonwealth Pool, 郭晶晶曾在这个池子里跳过水. 本木匠酷爱游泳,曾梦想横渡长江,可惜长江水污染日趋严重,随后放弃了.等日后清理干净了,再畅游.
    身体是革命的本钱, 各种人生长短期宏伟目标,都要依赖一个健康的身体.

    等我们搬进了新屋,再续生活感受.

    Monday, April 28, 2008

    2008的职业转换 Work from home

    曾经有个理想, 每个月写两篇日记.
    Tom 很久没有更新博客了, 我也是, 在等待灵感. "Was waiting for inspiration I guess".

    自从接了老客户的电信数据仓库项目,Work from home, 开始part time Remote DBA顾问工作.
    更是少了时间与本地社区,Oracle社区分享生活与工作的乐趣.

    还记得跟AnySQL谈起Oracle DBA consultant在美国的行情, 普通在$85~$120每小时, 卓越的DBA加上RAC服务会达到$200~$350每小时. AnySQL还就这个主题发了一篇贴子,并且没有声明出处,令我不快,嘻嘻!

    去年底和客户谈工钱时,考虑的新职业起步,就自砍一刀,报了个最低价$80, 结果客户还嫌贵,硬要和老印的外包价格比较,也就是$25一小时, 顿时令我很伤心, 咱木匠起码也是北美地区Top N的拔尖DBA, 在维多利亚在这个偏僻小镇,做着$##每小时的全职工作, 好赖也相当于硅谷,纽约的17万年薪了. 咋能这么贱买了呢?!!...

    最后还是以低于$80的价格成交. 等干两个月,客户发现了我的价值以后,再从新议价,只能如此了.

    译言(http://www.yeeyan.com/)看了一篇如何制定目标和计划的文章,很受启发.

    写下今年的目标:

    *) 搜寻到3个以上客户, 动态平衡,旱涝保收.

    *)年收入增加一倍.
    后来跟领导和加拿大智囊一合计, 已经调整到50% 啦.

    *)多爬山,多进球,多游泳(这周就开始,每周两次)

    Tuesday, February 05, 2008

    在维多利亚Oracle用户组学到的东西

    上周四下午, 第一次参加了Victoria Oracle Users Group
    组织的技术交流活动. 题目是 Database Gems: 9i, 10g, and 11g.

    VicOUG 请来了著名Oracle 技术网站的http://www.psoug.org/的作者: Dan Morgan,
    --
    最常用的是
    Morgan's Library http://www.psoug.org/library.html, 可以找到各种语法和函数用例.
    这个伙计自称因为人员好, 被评为Oracle Ace Director.

    言归正传, 以下是我学到的3点,

    1)
    ALTER SYSTEM SET PLSQL_WARNINGS='ENABLE:ALL';
    建议在所有的开发(Development)及测试(Test)环境设置.

    有啥好处呢? 编译PL/SQL的时候,给出有用的警告信息.
    a) 严重问题, 比如参数混淆 (这点我还没有理解, 需要一个示例)
    b) 性能问题, 一个INSERT语句,传递一个VARCHAR2值给一个NUMBER列
    c) 提示信息, 比如有一段代码 永远不会被执行

    详细说明, 请参考:
    Oracle® Database PL/SQL Language Reference
    11g Release 1 (11.1)
    - 第十一章: 11 Handling PL/SQL Errors
    -- Overview of PL/SQL Compile-Time Warnings

    2)
    wmsys.wm_concate

    你可以Sum() 数字列, 也可以 Sum() Varchar2 字符串列,
    我们叫作String Aggregate, 以后会有一长篇文章介绍.

    这里有一个示例, 自己在 SQL*Plus 或者SQL Developer里面跑一下吧,
    select DEFAULT_TABLESPACE,
    translate(wmsys.wm_concat(username),',','|')
    from dba_users
    group by DEFAULT_TABLESPACE;

    3)
    FBI index, virtual column index and SHRINK clause

    有个听众提个问题, 说在10.2以下版本, 有Function Based Index的表不能做空间回收-Shrink.
    Dan Morgan这位老大自己没测试过, 随口就说11g上,在一个表的虚拟列上的构建索引,这张表可以Shrink, 岂不是犯了和 老旦一样的错误.
    (老旦:Dan. 你们都知道是谁, 曾被老刘 Lewis 严肃的教育过, 以后有另外一篇文章评论,关于PGA 和 Parallel execution)

    第二天到办公室一测试, 发现11.1也不行.

    以下是测试用例:

    --drop table scott.y1;
    create table scott.y1(sal number, comm number);

    drop index scott.yi_fbi1;
    create index scott.yi_fbi1 on scott.y1(sal + comm)
    --tablespace data_auto
    ;

    alter table scott.y1 enable row movement;

    alter TABLE scott.y1 shrink space compact;
    alter TABLE scott.y1 shrink space;

    ERROR at line 1:
    ORA-10631: SHRINK clause should not be specified for this object

    drop index scott.yi_fbi1;

    alter table scott.y1 add (income AS (sal + comm));

    drop index scott.yi_vi1;
    create index scott.yi_vi1 on scott.y1(income);

    alter TABLE scott.y1 shrink space;

    ERROR at line 1:
    ORA-10631: SHRINK clause should not be specified for this object

    Sunday, February 03, 2008

    在加拿大给美国客户远程工作, 相关流程总结

    我自己亲身经历, 也有多位加拿大的华人朋友问到, 所以在这里总结一下.

    如果你是搞IT系统维护或开发的,这样的话VPN远程接入美国客户应该是通常的手段了.至于远程会议等要看对方要求了.一般公司都有WEBEX之类的.

    填一份 W-8BEN表格, 给美国客户寄去 备案, 就行了. 美国客户/雇主就可以开始给你付工钱了. (如果在美国工作, Independent Contractor 需要填w9 form)
    另外,对方有可能要求签一个安全保密协议, Non-Disclosure-Agreement.
    如果你觉得有必要, 再跟美国雇主签一个Offer(工作合同)

    美国公司如何支付工钱: 美国公司 "电子转帐或寄支票" 来 支付工钱

    纳税:
    1) 美国缴税 - 不用

    问过会计师了 无需向美国缴税
    刚刚打电话,问了会计师, 确认不用向美国缴税.
    下来就是明年报税, 找会计的问题了.

    加拿大居民/公民, 不用给美国缴税.
    If you perform the service from Canada, the income is not US source of income and is not taxable by US government.
    http://www.irs.gov/businesses/small/...=96459,00.html

    A nonresident alien (NRA) usually is subject to U.S. income tax only on U.S. source income.
    http://www.irs.gov/businesses/small/international/article/0,,id=96459,00.html

    Nonresident Aliensa
    A nonresident alien usually is subject to U.S. income tax only on U.S. source income.

    http://www.irs.gov/publications/p519/ch02.html#d0e1779

    <<
    如果你是美国公民, 绿卡持有人,

    根据w8 form 指南, 美国客户(Payor)会预先扣缴 30% 的税
    See: http://taxes.about.com/od/taxplanning/qt/form_W8BEN.htm
    >>

    2)加拿大缴税
    如果是 Independent Contractors, 交加拿大这边的30%~50%的个人所得税.

    注册公司:
    年收入在$30,000以下, 不需要在加拿大注册公司.
    (我个人觉得, 20万以下, 都不需要成立公司)
    注册个公司很容易,拿着公司注册号去开个银行帐号,然后就等对方电子转帐或寄支票了.
    http://www.smallbusinessbc.ca/bizResources-name.php
    http://www.bcbusinessregistry.ca/introduction/index.htm

    财务税务最好找个专业会计师.一年千把来块钱的开支,都可以打入公司运营成本, 还可以要回美国预扣的30%的税钱, 提交Form 8233.
    如果你恰好组织BC省府维多利亚市,我还可以给你介绍一个有这方面经验的华人专业会计师.

    也可以参考
    华枫论坛> ◆主题论坛◆> 创业者俱乐部.
    http://www.chinasmile.net/forums/showthread.php?t=303814

    下面是一些英文原文资料摘要:

    US Withholding for Canadian Independent Contractors

    Using Form W-8BEN to Claim US-Canada Tax Treaty Benefits
    American companies generally withhold income taxes on income being paid to foreign nationals. You may qualify for reduced withholding if meet some rules. Basically, there are three steps to this process. First, you must clarify in which country you are a resident. Second, you must decide where your "fixed place of business" is located. Third, you must notify your clients of your tax status using Form W-8BEN.
    Withholding
    The tax treaty specifically allows for US companies to withhold income taxes on self-employed Canadian residents (Article XVII, paragraph 1). Withholding will be 10% on the first $5,000 of income, and 30% on income over that threshold. The client and independent contractor may agree on a lesser percentage of withholding if these amounts are considered "excessive" (Article XVII, paragraph 2).
    Normally, US companies are required to "withhold 30% of any payment of an amount subject to withholding made to a payee that is a foreign person" (Instructions for Form W-8BEN). Form W-8BEN is used to inform the US company that you are "a beneficial owner that is a foreign person entitled to a reduced rate of withholding." You qualify for a reduced rate of withholding if you meet the residency and fixed place of business rules
    Filling out Form W-8BEN
    Provide your name in Line 1 and check "individual" in Line 3. However, if you are working under a business name, provide your business name in Line 1 and check the appropriate type of entity in Line 3.
    See: http://taxes.about.com/od/taxplanning/qt/form_W8BEN.htm

    Claiming Tax Treaty Benefits
    Exemption From Withholding
    If a tax treaty between the United States and your country provides an exemption from, or a reduced rate of, withholding for certain items of income, you should notify the payor of the income (the withholding agent) of your foreign status to claim the benefits of the treaty. Generally, you do this by filing Form W-8BEN, Certificate of Foreign Status of Beneficial Owner for United States Tax Withholding with the withholding agent.

    Rules that Apply to Compensation for Personal Services
    Independent contractors. If you perform personal services as an independent contractor (rather than an employee) and you can claim an exemption from withholding on that personal service income because of a tax treaty, submit Form 8233 to each withholding agent from whom amounts will be received.
    See: http://www.irs.gov/businesses/small/international/article/0,,id=96438,00.html


    Instructions for the Withholding Agent

    Requirement To Withhold
    A withholding agent must withhold 30% of any payment of an amount subject to withholding made to a payee that is a foreign person unless it can associate the payment with documentation (for example, Form W-8 or Form W-9) …
    Responsibilities of the Withholding Agent
    If you are a withholding agent making a payment of U.S. source interest, dividends, rents, royalties, commissions, nonemployee compensation, other fixed or determinable annual or periodical gains, profits, or income, and certain other amounts (including broker and barter exchange transactions, and certain payments made by fishing boat operators), you are generally required to obtain from the payee either a Form W-9, Request for Taxpayer Identification Number and Certification, or a Form W-8. These forms are also used to establish a person's status for purposes of domestic information reporting (for example, on a Form 1099) and backup withholding. If you receive a Form W-9, you must generally make an information return on a Form 1099. If you receive a Form W-8, you are exempt from reporting on Form 1099, but you may have to file Form 1042-S and withhold under the rules applicable to payments made to foreign persons. See the Instructions for Form 1042-S for more information.
    Generally, you must withhold 30% from the gross amount paid to a foreign person unless you can reliably associate the payment with a Form W-8. You can reliably associate a payment with a Form W-8 if you hold a valid form, you can reliably determine how much of the payment relates to the form, and you have no actual knowledge or reason to know that any of the information or certifications on the form are unreliable or incorrect.
    Do not send Forms W-8 to the IRS. Instead, keep the forms in your records for as long as they may be relevant to the determination of your tax liability under section 1461. Use the information on Forms W-8 to prepare Forms 1042-S.
    See: http://www.irs.gov/instructions/iw8/ch01.html

    Tuesday, January 22, 2008

    Supporting Multilingual Databases and NLS_CHARACTERSET

    We recommend going to AL32UTF8 as the ultimate solution for Oracle 11g-.
    AL32UTF8 is the database character set that supports the latest version (5.0 in Oracle 11.1) of
    the Unicode standard. It also provides support for the newly defined supplementary characters.

    Here are some major points I briefed as a reference.

    How to move to AL32UTF8 / UTF8 (Unicode) Database Character Set
    Note:119119.1

    to check you database Character Set,
    select value from NLS_DATABASE_PARAMETERS where parameter='NLS_CHARACTERSET';

    Usualy database will grow when going to AL32UTF8, use CSSCAN to generate the size expansion report.

    The NLS_LENGTH_SEMANTICS initialization parameter determines whether a new column of character datatype uses byte or character semantics. The default value of the parameter is BYTE. The BYTE and CHAR qualifiers shown in the VARCHAR2 definitions should be avoided when possible because they lead to mixed-semantics databases. Instead, set NLS_LENGTH_SEMANTICS in the initialization parameter file and define column datatypes to use the default semantics based on the value of NLS_LENGTH_SEMANTICS.

    columne_name VarChar2(300 char/byte)

    Related function: lengthb(), substrb()

    UniStr() over Chr()
    select Chr(163) from dual;
    select UniStr('\C2A3') from dual;

    convert(string_column,'AL32UTF8','US7ASCII'), convert from US7ASCII to AL32UTF8.

    To use WE8MSWIN1252 over WE8ISO8559P1, WE8MSWIN1252 supports European Code.

    Reference

    * US7ASCII: US 7-bit ASCII character set
    * WE8ISO8859P1: ISO 8859-1 West European 8-bit character set
    * WE8MSWIN1252: Microsoft Windows West European Code Page 1252
    * UTF8: Unicode 3.0 Universal character set CESU-8 encoding form
    * AL32UTF8: Unicode 5.0 Universal character set UTF-8 encoding form

    **Unicode character sets in the Oracle database, Note:260893.1

    exp/imp

    set NLS_LANG=
    export

    set NLS_LANG=
    import into the new UTF8 db.

    The conversion to UTF8 is done while inserting the data in the UTF8 database.

    Today's learning:

    如果你确信了那些消极的结论,那么你就极少可能去冒险和尝试新事物。消极的想法掩盖了你的感受,使其处于恐惧中。

    积极的想法的也是以同样的方式起到其作用。带着积极的心态,你将搜寻那些积极的选择然后确信其积极的结论。它帮助你克服恐惧并且尝试那些可能你认为“不能做到”的事情.

    积极的思想,有助于确定目标实现.

    Tuesday, January 08, 2008

    看看日本人是怎么抵制中国货的

    打击日货, 喊得有些累了, 这里转抄一篇, 华人同胞, 共同学习进步.

    --From 枫华园
    http://www.fhy.net

    最近很多国家在抵制中国货,特别是日本。日本抵制中国货不是象我们中国只是喊口号,而是肆意贬低中国货,特别是利用宣传工具。

    日本有2个电视台播放了2个关于中国货的节目。一个是试验生活中怎么不用中国货,当然是很可笑的了,可给消费者的影响可想而知。另外一个台,放了他们在中国的采访,说是广东的一个地方,说用来浇蔬菜的河水被污染了,河里的水--当然水很黑很臭的了。看了这样的镜头还有谁敢买中国的成品?还把河水和菜拿到日本来化验,虽然没查出什么。可还请什么专家来说话,说不能否定含有重金属。

    利用媒体,不是直接抵制中国货,这就是日本的手法。断章取义,再好的东西都可说成说垃圾的,我们中国人在抵制日货方面是不是也可以其人之道还其人之身呢?中国的媒体在干吗?我们不放日本作品?我们可以去揭揭日资企业的违法问题?可以说说销售到中国的倭货是在日本被淘汰的东西的?要找问题,为什么不利用现代的科技手段呢?

    建议大家不要光叫抵制日货的口号,真有爱国的思想的,多做一些具体的事情,真正的抵制日货。

    Tuesday, December 25, 2007

    过冬至 陕西老乡聚会 Potluck(家常便饭)

    2007冬至, 由苏州热心朋友Yang组织 (他老婆是陕西人), 我们来自陕西的老乡 聚会了, potluck, 又吃到了各种正宗陕西菜, 写日志以纪念.


    主人家在Cordova Bay, 面朝佐治亚/欢德福卡海峡,温哥华岛与大陆之间; 夜晚出来赏景, 月色映着海面, 别有一番韵味.

    陆陆续续有十多位老乡到场, 如果算上不认识的, 比如乘以十, 那么BC省府-维多利亚的陕西人就有一两百个了. 有一位搞房屋建筑的材料专家,竟然跟我同一栋楼上班,他4层,我5层(就是前文书提到的三面海景绿玻璃楼),天天进进出出碰面,还以为他是韩国人. 我要执行四川同事 老高 的建议,在电梯里面贴一个广告,邀请同楼的所有华人老乡,到街道对面吃(早年飘洋过海来的)福建人开的四川皇都自助餐.

    那天品尝到了久违的牛羊肉泡馍,肉夹馍,秦镇米皮,八宝饭,个个精彩,宛如回到了陕西老家.
    我消化系统不太好,当晚吃的很多,却也睡得比较香,算是吃的对路啦.

    去年2006冬至是到四川同事 老高 家里包饺子, 广东人讲了"冬至大过年".
    近期 Potluck(家常便饭) 活动频繁, 发生撞车, 特次向 开吻 表示歉意, 来年我们可以春节聚会.
    Potluck实际意思就是各做各的饭菜, 带到某个东主家一起大伙会餐.

    本想体验一下加拿大的Boxing day,准备26日一早去FutureShop店门口排队,
    商家又出新花样, 提前24日太平洋西海岸时间下午4:00开始网上抢购, 我抢到了一台500GB移动硬盘, 随后放弃了去现场排队的冲动.

    今日星相预测:
    Today is all about helping your friends and family.

    今日激励:
    积极的心态创造了一个富裕、热情以及解决方法的思想意识。而不是思考什么不能做,积极的思想者不会被束缚在“能”和“不能”里。一个积极思想者为解决问题是以新思路去自由思考,因为他们不会被限定在失败的恐惧中。

    下期题目: 乘坐救护车

    Saturday, November 17, 2007

    老爸的加拿大生活总结

    上周六(Nov 10)到温哥华送走了老爸老妈回中国,顺便买了一大堆干货,质量远远好于维多利亚的华人商店,下篇帖子再做介绍, 就叫温哥华中国货攻略.

    好了,言归正传, 以下是我老爸回国前发给国内亲人的邮件正文:

    -->
    最后一封信

    一切都准备好了,明天(中国是9日)离开维多利亚,到温哥华去。那里有国际机场,从那里离开加拿大回中国。你哥过去在电话里给我们说,这里好比是天堂,这是从生活环境说的。这里夏天不热,冬天不冷,空气清新,人们礼貌、热情、有序,除了语言不通,生活在这里,确实是好。地大人少(它一个人,中国就43个人),资源丰富,生活水平当然高了。回顾中国,以现在的速度建设,委实可观,但现实中也委实有很多问题。不管怎么说,我们是中国人,希望我们的祖国愈来愈强大!
    <--

    老爸跟咱有着一样的赤子爱国之心.

    Tuesday, October 30, 2007

    年末岁尾 升职加薪

    又到了公司财政年末尾, 开始了一年一度的Performance Review(个人业绩审核),
    老板会给你造出很长一串任务计划,指示你来年完成,好比爬山,没有个尽头,
    总是满足不了领导的期望值,领导就有借口反驳你的加薪要求; 但是还得坚持"斗争".

    还没有开始评审,上周四下午,老板发来一封邮件,说的11月1日起,给本人升职加薪,不亦乐乎,
    我就喜欢简单.

    具体是个啥职位呢, Data Solutions/Systems Architect,
    (刚进公司时,CIO给了俺一个 Data Solution Architect 干)
    只比我原来的职称多了一个单词 - System, 搞不清楚其中有何区别,
    号称是提升了职位, 糊涂, 难得糊涂.

    然后老板发出公告,宣布我们部门有4个人获得升职, 这不是卖乖吗?!!
    工资比我原来要求的少加了三千,结果闹腾的全公司同事都知道了,一个一个跑来祝贺,
    有人是真心的,有人是妒忌的,在所难免,引起人民群众内部矛盾,唉,老板真是老谋深算,
    给你加了薪水,也不让你舒服.
    我倒是喜欢悄悄给咱加了工资,咱以后继续卖力工作.
    想要维护好上上下下的群众关系,真是不容易.

    下面看看 System Architect 的定义, 还有我喜欢的职位 - Database Designer

    System Architect Definition
    The system architect has the task of putting together the skeleton of a software project.

    Depending on the specifications gathered by the requirements analyst, the system architect will choose to focus on ease of maintenance, application performance, compatibility with existing systems, or a combination of all three. Each decision that the system architect makes has to be carefully considered because a wrong move the beginning of a project can have damaging effects later in the software evelopment life cycle.

    Database Designer Definition
    Most software projects boil down to information storage and retrieval. Deciding how and where this information is stored is the domain of the database designer. Working with a system architect and a requirements analyst, the database designer ensures that all necessary data has a place to be stored. At the same time, the speed at which the data can be stored and retrieved are taken in to account so that user's are not left waiting for unreasonable amounts of time.

    Sometimes database designers take on database related activities such as arranging for backups, creating ad-hoc reports, and server tuning. However, these other tasks are often part of a Database Administrator's (DBA) job.