History of the Internet from PICOL on Vimeo.

Slumdog Millionaire 贫民富翁 老段好评的片子。今天抽空看了。这是一个好电影,没有浪费时间,引起了自己一点思考,也推荐大家看一下。有一个还算喜的结尾,不会破坏holiday的气氛。装了迅雷的同志可以在下面这个链接里看到:

http://kankan.xunlei.com/4.0/movie/65/61265.html?id=111

新的一年开始了,祝大家也祝自己在新的一年里身体健康,每天都能有些进步,最后实现这一年为自己设定的目标。

转自: http://www.cppblog.com/heidaizx/articles/33455.html
转贴于:http://forum.ubuntu.org.cn/viewtopic.php?t=52397&highlight=

折腾了一天终于折腾好了,对话框按钮和输入中文问题也解决了。

安装方法很简单,见

http://www.tatanka.com.br/ies4linux/page/Installation:Ubuntu

安装之后,下载雅黑字体文件,copy到目录
~/.ies4linux/ie6/drive_c/windows/fonts

这时运行桌面上的IE6图标,使用后有2个问题:
1.不能用scim输入中文
2.对话框的按钮文字是乱码

解决办法
1.
去掉scim设置的 前端->全局设置->将预编辑字符串嵌入到客户端中 前的勾
去掉scim设置的 面板->gtk->嵌入式候选词标


http://forum.ubuntu.org.cn/viewtopic.php?t=51420&postdays=0&postorder=asc&start=0

2.
到windows下copy一个simsun.ttc放到
~/.ies4linux/ie6/drive_c/windows/fonts

代码:
gedit ~/.ies4linux/ie6/system.reg

找到这两行

代码:
"MS Sans Serif"="sserife.fon"
"MS Serif"="serife.fon"

替换为

代码:
"MS Sans Serif"="SIMSUN.TTC"
"MS Serif"="SIMSUN.TTC"

另外修改
其中如下部分

代码:
[Software\\Microsoft\\Windows NT\\CurrentVersion\\FontSubstitutes] 1144897563
"MS Shell Dlg"="SimSun"
"MS Shell Dlg 2"="SimSun"

保存退出,OK了


http://forum.ubuntu.org.cn/viewtopic.php?p=283867#283867
http://forum.ubuntu.org.cn/viewtopic.php?p=283865#283865

http://www.topys.cn/

一个不错的有关广告设计的网站

还有 Clio Awards:

http://www.clioawards.com/winners/index.cfm?medium_id=2&award_id=1&search=0&maxrow=30

… 快过去了

推荐瞧瞧这个视频: http://www.tudou.com/programs/view/8SbUNyMjLzE/ 一个MV.显然不是流行乐,词曲都不错,呵呵;MV本身也有特色!

三里屯是很久…很久没有去过了.上一次去可能还是小学吧… 或者我可能就不曾去过! 至少每次听人提到这三个字,我脑中的反应大概是一个丁子路口,口边上几个卖烤羊肉串的新疆人周围散着一群火蹲或立,左手拿一把烤好的串子,右手拿一瓶啤酒的年轻人.抽空要去看一下.从上面这个MV里看三里屯远不是我所想的样子.有现代的美感.

又很晚了.工作,同时看Boston Legal. 这个美剧可以看一下.老友记老看好像会降低智商,变得傻呵呵的;绝望的家庭主妇貌似趋向于婆婆妈妈,Lost本以为是一个纯现实的踏踏实实的悬疑片,结果出现一团黑雾,搞得好像科幻,让我有受骗的感觉,所以这两个片子毕业之后就再没有拣起来;越狱…在ppstream上看过两集就再没有兴趣;Heroes…编剧复工之后,貌似有些人没有回来,所以第三季让人很失望.而Boston Legal,我刚看完第一季,是属于偏喜剧类的正剧,肯定不会中途又拐到科幻的路线上去.几个主要角色个性鲜明,被描画得很好;编剧不显做作,偶尔情节少显曲折,但结尾处又让人体会到几分现实的残酷.另外里面的对白应算是中产阶级英语,遣词造句与以上提到的几个剧集在层次上高出一块,希望受些感染.

说到英语,Kurt的英语着实比较强,他们公司总机的语音提示都是他录的.每次电话中与之交谈,偶尔跳出去以旁听者的角度来评判,如果不是相识多年的老同学,也许不真易分辨出电话里的这个家伙是中国人还是美国小年轻.

大鱼吃小鱼,小鱼吃虾米,虾米吃沙粒. 这是一条食物链,也是剥削链.

在网上找了半天关于SAR指标算法的东西。除了一搜就能搜到的比较概略的算法,下面这个是比较详细的一个:

http://www.gupiao668.com/zhibiaogupiao/106879.html

 

现在要用代码实现,感觉关键的一点是如何通过某证券的历史信息确定其是处在涨势还是跌势,因为所处的态势不同,对应的计算方法会不一样。如何判断呢?如何通过一个数学计算来判断呢?根据过去几日的历史均线变化之类,还是简单的判断最后两个力度的价格变化?呵呵,所谓“势”,应该不会是像后者这么简单的吧。

在查找这部分的资料的时候有两点感觉:

1. SAR指标是一个很重要的指标,可以用来提前预测未来的止损点在什么位置,与DMI指标配合使用效果更佳;

2. 我估计现在常用的国内的操盘软件的这个指标的计算可能是有问题的,即可能误差会比较大。well…… 只是属于个人基于目前不成熟认识的猜测,个人观点,不能用来看做对这些软件制作者的诽谤或者作为投资决定的影响因素。

不知道谁了解关于这块的计算,或者这个指标在实际中的使用情况等。可以发表点意见。谢谢!

 

关于如何确定涨势,看到这个:http://www.cuiv.com/Article/jiqiao/jishu/12783.html

——————————-

附:

SAR的算法
假设参数为(N,2,20)
首先要确定是涨势还是跌势,并且得出起算点。有多种不同的确定方法,这里略过。
一、涨势中算法
1.涨势中第一步,假设时间段是t
那SAR(t)等于前面N个时间段(即,t-N,……,t-1时间段)中的最低价格。
如果SAR(t)大于t时间段的最低价L(t),则发生跳转,在下一个时间段时进入跌势;
如果SAR(t)不大于t时间段的最低价L(t),在下一个时间段时进入涨势第二步;并且,极值Ep(t)等于最近N个时间段(即t-N+1,……,t时间段)的最高价格;Af(t)=0.02。
2.涨势中的第二步,时间段是t+1
SAR(t+1)=SAR(t)+Af(t)*(Ep(t) – SAR(t))。
如果SAR(t+1)大于t+1时间段的最低价L(t+1),则发生跳转,在下一个时间段时进入跌势;
如果SAR(t+1)不大于t+1时间段的最低价L(t+1),,进入涨势下一步;并且,极值Ep(t+1)等于最近N个时间段(即t-N+2,……,t+1时间段)的最高价格;如果该时间段的最高价,即H(t+1)比前面N个时间段(即,t-N+1,……,t)的最高价高,则AF(t+1)=AF(t)+0.02,否则,AF(t+1)=AF(t)。
3.接下来,在后面的时间段t+2,t+3,……,上重复涨势第二步中的算法,直到发生跳转为止。另外,AF的最大值是0.2。
二、跌势中的算法
1.跌势中第一步,假设时间段是t
那SAR(t)等于前面N个时间段(即,t-N,……,t-1时间段)中的最高价格。
如果SAR(t)小于t时间段的最高价H(t),则发生跳转,在下一个时间段时进入涨势;
如果SAR(t)不小于t时间段的最高价H(t),在下一个时间段时进入跌势第二步;并且,极值Ep(t)等于最近N个时间段(即t-N+1,……,t时间段)的最低价格;Af(t)=0.02。
2.跌势中的第二步,时间段是t+1
SAR(t+1)=SAR(t)+Af(t)*(Ep(t) – SAR(t)).
如果SAR(t+1)小于t+1时间段的最高价H(t+1),则发生跳转,在下一个时间段时进入涨势;
如果SAR(t+1)不小于t+1时间段的最高价L(t+1),,进入跌势下一步;并且,极值Ep(t+1)等于最近N个时间段(即t-N+2,……,t+1时间段)的最低价格;如果该时间段的最低价L(t+1),比前面N个时间段(即,t-N+1,……,t)的最低价低,则AF(t+1)=AF(t)+0.02,否则,AF(t+1)=AF(t)。
3.接下来,在后面的时间段t+2,t+3,……,上重复跌势第二步中的算法,直到发生跳转为止。另外,AF的最大值是0.2。
市场上的SAR算法有许多中,大体结构和上面的算法差不多,但在下面的某个或某几个方面和上面的算法不同。由于涨势和跌势中的算法都是对称的,下面只说明在涨势中不同之处。
一、第一步中的SAR(t)的确定算法不同。有的算法是把前一个波段(即前面的整个跌势波段)中的最低价格作为SAR(t)的值。
(下面假设当前时间段是t+m时间段。)
二、EP的确定算法不同。有的算法是把从t时间段到t+m时间段,即本波涨势(即本个上涨波段)中到t+m时间段为止的所有时间段,的最高价格作为EP(t+m);还有的算法是把t+m时间段的最高价作为EP(t+m)。
三、加速因子调整的触发条件不同。有的算法是是当本时间段中的最高价H(t+m)大于本波涨势中前面所有时间段中的最高价时,调整加速因子;有的算法是当当本时间段中的最高价H(t+m)大于本波涨势中前一个时间段中的最高价H(t+m-1)时,调整加速因子。
四、跳转的时间不同。上面的算法中,当t+m时间段的SAR(t+m)大于t+m时间段的最低价L(t+m)时,在下一个时间段发生跳转,即在下一个时间段进入跌势;而有的算法是当t+m时间段中的价格小于SAR(t+m)时,立刻(马上)发生跳转,即在t+m时间段就进入跌势,这时SAR(t+m)的值也发生了变化,按照跌势中第一步中的算法来确定。
五、加速因子调整的时间不同。上面的算法中,如果在t+m时间段满足了调整加速因子的触发条件,在计算SAR(t+m)时仍然使用调整前的加速因子来计算,而将调整后的加速因子用于SAR(t+m+1)的计算。有的算法是,如果在t+m时间段中的某个时间点上满足了调整加速因子的触发条件,那就立刻使用调整后的加速因子来计算SAR(t+m),也就是说, SAR(t+m)马上发生了变化。(还有一种算法似乎是前面两中算法的折中,有两个条件:(1)计算本波涨势中第二时间段SAR(t+1)时的加速因子一定是0.02;(2)计算某时间段SAR(t+m)的加速因子与计算前一时间段SAR(t+m-1)的加速因子之差小于等于0.02。当t+n时间段中(在这里使用t+n是为了与t+m区别开来,以免混淆或误解;这里的t+n也是指当前时间段)某时间点的价格大于本波涨势中前面所有时间段中的最高价时,如果满足前面两条件,马上调整加速因子并计算新的SAR(t+n),否则就在计算完本时间段的SAR(t+n)之后(实际上就是对SAR(t+n)不做改变)再调整加速因子,并用于下一个时间段的SAR(t+n+1)的计算。)

http://easychart.net/WebDemos/Explore.aspx?Id=10&File=Basic.fml

上面的这个网页可以找到几个指标计算函数的demo。可以用来检查自己写的函数是否获得了一个比较正确的结果。

亲历惊心48小时,抢救35亿交易数据

 

        以前总听说老大们遇到DOWN机的事情怎样怎样,多么急迫怎样怎样,但却一直没有感觉,总以为老大们言过其实。但是前不久一次真实的经历,让我终于对存储工程师这一职业有了更深层的认识……

    起因是某月某日某时,我的一个哥们准备在新上的IBM DS4800盘阵上做RAID,刚刚做完时钟同步,就看见客户方所有的技术人员一阵风似的全部冲进了机房,带头的主管劈头就是一句:你们干什么了?不待我们缓过神来,6、7个人就开始疯狂的查找各自负责的部分。“赶快,赶快,查找原因!”

    在过后的几个小时情况调查的时候,我们终于知道,当时的盘阵上面存储着该客户35亿的交易记录和10条要人命的信息!然而,当我哥们完成时钟同步的操作后,盘阵上的所有Volumn Group全部不见!

噩梦开始,35亿交易记录不翼而飞

    只见客户方6、7个人分别查找各自的原因,数据库配置,光纤交换机,网络,主机上的应用,甚至电源、机柜都一一仔细检查过,统统没有问题。于是,所有人的目光都转向了我们:你们到底做了什么?

    我们一下子也没回过神:“只是,只是在还没有使用的盘阵上做了时钟同步,怎么会和生产系统扯上关系?”

    大家的目光随即投向了连接KVM和盘阵的HUB。咦?上边怎么还有两根线缆?那么我们现在操作的这两根线缆是?……生产系统盘阵上的!而且使用的是默认IP!!…..我的天!我们前面的操作是做在哪里了啊?为什么没有出现IP冲突?

    这时我们才意识到我们犯了什么样的错误:我们将KVM连在了生产系统的HUB上,对客户新上的盘阵DS4800和原有生产系统上的盘阵DS4300同时做了一个DEMO,并进行了时钟同步,于是,所有的Volumn Group掉下去了,生产停止了……

四处支援,各路神仙爱莫能助

    搞清楚状况后,已经2个小时过去了。客户方的人也不再理我们,所有的人开始打电话,寻求技术支持。在此后的4个小时中,分别有来自各方的支持陆续赶到,其中包括原设备维护厂商,新设备厂商、总代。以及陆续到来的7位IBM的工程师。我哥们至少20次的向各路神仙说明故障原因,客户方也不停的展示目前盘阵的状况,但事情仍然陷入僵局……

    在我们感叹客户方主管巨大能力的同时,也被打入冷宫了,被安排在一个办公室里不能出来,更别说进机房。还好客户方还允许我们继续找人支持和打800报修,所以我也有机会看了一眼客户受重创后的盘阵,除了ROOTVG,其他的全都没了,就好像连在一个完全空白的新盘阵一样,我当时那个汗啊!

    回到办公室继续打800报修,提示音之后是长时间的废话,我一遍一遍的报上姓名地址,说明情况,无论你磨破嘴皮,只有一个结果:除了产品硬件故障不能派人解决。我狂晕!

    先来的是我们找的代理商方面的小型机和存储技术支持,分别来的3个人同一个看法,这些操作按道理不会出现这样的状况,除了重新启动下看看情况以外好像都别无办法。

    后来的总代技术明显要略胜一筹,从了解实情经过的方式和建议都是更加的谨慎,看得出来经验丰富。他在打电话给他的公司的时候加上意味深长的一句:记住这个教训吧。但是结论仍然是没有什么办法。

    与此同时,公司通过其它渠道联系上IBM工程师,于是大家苦等IBM工程师。

    在此之前总有耳闻,说现在的IBM工程师水平也是一般,于是在心理并没有对他们有多大的期待,心想用户就是迷信,干脆重起得了。事情发生后4个小时,所有人都看完了现场以后,IBM工程师到了。先是2位,再来又是2位,然后是3位。分别来自不同的TEAM负责不同的系统,有负责小机的,有负责存储的,还有售前方案的,但是他们在一起却能很好的协商和达成一致,没有人口出狂言或者轻举妄动。这里不得不客观评价,IBM工程师还是训练有素。

    实在是我们的误操作愚蠢得太不可原谅,最后IBM的7位工程师也不敢贸然给出任何的动作和建议,唯一的举措就是将现场情况抓图整理,上传给2线。希望有人在线,能有解决的办法……

    然后,IBM的工程师也走了……

紧急预案,又出节外生枝

    与此同时,客户方也临时召开紧急会议,经讨论后给我们公布了他们的紧急预案措施:冻结原有的业务存储系统DS4300,连夜在新的存储系统DS4800上做RAID,建Volumn Group,将所有应用和数据转移,先让系统跑起来,数据再说。于是,大家纷纷给家人电话或者短信“今晚通宵加班,我不回去了。“

    这时回到那两台为了配置它们而闯祸的DS4800面前,它们却吓得再不敢抬眼看我们,死活就是不和我们的管理系统连接。。。。气得我•##¥%……—

    客户算是有水平了,并没有在这个时候追究责任。而是让我们去处理问题,如果这个问题都没处理好。那,那。。。。。

    看来连DS4800也指望不上的时候,一直在一边帮助客户协调跑前跑后的我们公司的销售经理突然对我说:“你跑一趟,和XXX联系,这是电话,拉一台 DS4300回来,再带6块300G的硬盘,就对他说是X总叫你来取的。”我当时那个乐啊!赶紧屁颠屁颠的就打车过去了(那时都半夜了)。到了销售说的地方,领到机器,也顾不得新洗的白衣服了,和司机、库管一起把机器扛到了车上。

    车刚要发动返回客户现场,就收到销售的短信:硬盘拿了么?车还没开到客户大门,老远就看见销售在门口蹲着等着了……所有的人都在期待这台DS4300,但是,新拉来的DS4300却没有接上……

    原来,在场的人七手八脚的把这台救命稻草DS4300抬上楼,打开箱子一瞅,乐了。原来打算用6块300G的硬盘做临时空间有点紧张,只能做RAID5,不能做hotspare,没想到上面整整齐齐的插着7块146G的硬盘,再加上6块300G硬盘,嘿,这下够了!

    销售在这个时候还不忘打趣:“慢点慢点,这可是咱们的最后一棵救命稻草,有了它我就算是有了一条活路,没它我就得从这窗户口跳下去了。嘿嘿。。”要知道,当时我们可是在19层的机房啊。

    上好架,通上电,开始练。第一个分区100G,ok!第二个分区,400G,咦?怎么出错了?

再来一遍还是不行!这时候,一直镇定的,老练的,不懂技术的销售一直直勾勾瞅着屏幕,憋不住了问一句:“这是怎么回事?”操刀的哥们没有回答,让我把某一块盘拔出来,等一下再插上……故障依旧,关掉再开盘柜……故障还是依旧……

柳暗花明,35亿交易数据失而复得

    销售看不下去了,但是毕竟好涵养,压了压焦虑的心情,拉我到外面抽烟去了。烟雾缭绕中,给我讲了上次误操作将一所大学的学籍档案全部删除的事情……。最后,掐灭了烟头:“走,回去看看!”

    回到机房,RAID居然已经做好了。问了我哥们,原来是这样:这台DS4300上原来的几块盘是做过RAID的,但是缺少了一块。于是盘阵总认为后来插上的硬盘就是原来缺的那块硬盘,但实际上不是,而且我们还插了不止一块盘,所以就出错了。

    哥们将所有的盘都拔出去,再将盘阵重起,清除里面的信息,再关闭,把盘都插回去,就一切OK了。

    哦,这样啊!心算是放回肚子里了。再接着就是普通的划区后的工作,忙到了天亮。

    这边问题暂时解决了,但原来的阵列还一动不动躺在那里,里面的数据仍然没法儿拿出来,所有人的希望也就寄托在IBM的二线上,希望他们能够拿出最佳的解决方案来。

    第二天早上9点整,IBM的工程师来了,并且带来了2线的解决方案。很可惜具体的操作方式他们不肯透露,大意是将上面的RAID按照原来最初的重新做一遍。由IBM的工程师讲解方案,客户方系统维护人员操作。整个恢复过程中,现场气氛紧张啊,连插拔光纤的动作都做得极为谨慎,所有操作完成后,一查看,35亿的交易数据总算是失而复得!

    当时那个兴奋啊,要是有蛋糕都能开个PARTY!然后是一些后续的工作,又忙了大半天才结束。

    走出客户的大厦时正是第二天中午,我这才意识到已经2天没有看到这轮太阳了,沐浴在久违的阳光下,发现周围的一切都是这样的美好!

后记:噩梦方醒不忘经验教训

    曾经听老大们讲过,小型机和存储盘阵的操作都极为复杂,很多地方和PC机器完全不同。操作PC机的,可以经常自己尝试和摸索,但在小型机和存储系统上瞎鼓捣就是自己找死。只要做过客户系统维护的人员都能深切感受到这份压力,不少都曾经亲身经历过这种要人命的时刻。曾经听说过有人深夜3点打车去五百里之外,和夜里9点打车去千里之外的情况,一旦客户系统发生问题,影响业务运营,就是打飞机也一定要赶到客户现场。

    还有一个问题就是,由于实施维护的时候压力大强度大,所以经常工作到深夜,加上开的窗口会比较多,这个时候是极易出现人为错误的时候。所以老大们告诫我们,再复杂的工作一定要一步一步按部就班,另外每做一步操作,保留数据的备份是极其重要的,否则敲错一个命令,就有可能带来追悔莫及的损失,而这样的例子也的确不在少数。

    上周四刚刚将借来的那台DS4300还了回去,仍然记得那天打车去取这台机器的紧张劲儿。心中不免还是有点那么担心:如果给的方案不好用呢?如果这台备机不好使呢?如果在后面长时间、高负荷、紧张的情况下操作失误呢?如果再有其他设备的损坏?如果……我实在不敢想象下去了。如果,这件事能给所有的同行一点帮助,我就会很欣慰了。

I followed this instruction to do the installation of SopCast on Ubuntu 8.10.

When doing the ‘make and install’ part, I caught this error:

main.cpp: In function 'int main(int, char**)':main.cpp:47: error: 'srand' was not declared in this scopemake: *** [.obj/main.o] Error 1
At first, I though there may be something wrong with gcc or maybe the standar lib on my Ubuntu is missing. But actually those things have been installed.After reading some references, I find the way to solve the problem. That is: open the header.h file in ../qsopcast-0.3.5/src and append the '#include <cstdlib>' in the include block of the code.Save and go back to build again. It should work now.

References:
http://bugs.gentoo.org/181134

http://sopcast.pxn.ca/viewtopic.php?f=17&t=203

http://code.google.com/p/qsopcast/downloads/list


The detailed instruction:

Installing SOPCAST in Linux Ubuntu 7.10

Note this will vary on different versions, but this guide is intended for Ubuntu 7.10 Gutsy.



Adding Repositories

Run these commands in the terminal:

gksu gedit /etc/apt/sources.list

Add this line: "deb http://packages.medibuntu.org/ gutsy free non-free"

By the way, to add the key for the repository shown above, use:

wget -q http://packages.medibuntu.org/medibuntu-key.gpg -O- | sudo apt-key add -

Also, you don’t actually need this repository as I’ve noticed VLC is in the universe one. There’s still some good codecs and other software in there though.

sudo apt-get update

sudo apt-get install qt3-apps-dev vlc build-essential

Downloading the latest Sop Cast binary

http://download.sopcast.cn/download/sp-auth.tgz

Unzip it and cd into that directory using terminal. Then run:

sudo cp sp-sc-auth /usr/bin/sp-sc



Downloading and building the latest GUI

Download the most recent source package from this page:

http://code.google.com/p/qsopcast/downloads/list

Aga‌in, unzip it and cd into that (src) directory using terminal. Then run

sudo qmake

sudo make

sudo make install

This should compile the source and install the binary into the correct location.

Creating an menu shortcut

Go to System / Preferences / Main Menu… then ‘Internet’ and ‘Add New Item’. Give it the name "QSopCast" and command "qsopcast". You should now be able to launch from the main menu.

Setting up the GUI

Once the gui is open, goto config then config again. Make sure that the player settings are all set to "vlc" and that the channel URL is set to "http://www.sopcast.com/gchlxml"

You should now be able to watch sop casts by selecting a channel, launching it and then hitting player when the stream is at 100%

I’ve got an updated guide that will allow you to set firefox to launch SOP URLs too. It uses a specially modified version of QSopCast.

Please see this page:

http://www.linux.ryukent.co.uk/show.php?id=36

Technorati Tags: ,,,


 

There are classes in Java which are locale sensitive. In some situation, programmers may not realize this. Their code may work well on their own machine, but when it has been delivered to customer, the locale environment may be different to where it had been tested. And problems may occur.

Here are some useful URLs:

http://www.j2ee.me/docs/books/tutorial/essential/environment/sysprop.html

http://java.sun.com/j2se/1.4.2/docs/api/java/text/SimpleDateFormat.html

http://www.mindspring.com/~mgrand/java-system-properties.htm

http://www.exampledepot.com/egs/java.lang/GetAllSysProps.html

http://java.chinaitlab.com/base/38294.html

Technorati Tags: ,,,