Shell's Home

开blog宣言

Nov 26, 2007 - 1 minute read - Comments

blog供应商更改,发个新的纪念下。 msn的blog已经用了好几年了,期间也没有出过什么大问题。只是最近在Linux下面写的东西无法提交,windows下也没有格式。问了几个朋友都正常,莫非是贝壳人品问题?算了,不搞这么复杂了,听说google的产品也不错,换了算了。 就这样。

Linux和windows共享邮件

Nov 4, 2007 - 1 minute read - Comments

总算能发正常的文章了,前面发出来的老是不会断行。庆祝一下。 很多人像贝壳一样使用双系统,Linux加windows。贝壳的Linux用的是Debian,最近其中的xfce4出现一些问题。使用的时候老是死机,这日子没法过了。所以贝壳就稍微下了点功夫,先弄个好用的windows凑合一下。 windows下最难办的恐怕就是邮件了,到不是说不能收。只是windows下一个邮件状况,Linux下一个。未免讨厌了点。就算有导入导出可以转换,你想转换多少次呢? 下面贝壳就说一种方法来对付这种状况。 首先你的系统盘应当是ntfs,否则这方法不能用。然后在windows下安装ext2ifs来读取linux的home目录,假定是d:\username.mozilla-thunderbird。windows下安装类似版本的thunderbird,然后看看你的C:\Document and Setting\username\Application Data\Thunderbird下面,是否有一个profile.ini?有就对了。删除这个目录(我没说错),然后去下一个叫做junction的软件,微软出的。这个软件可以将ntfs的某个目录映射到一个目标上去,对这个目录的访问就等同于对这个目标的访问,就好像linux下面的符号链接一样。下面知道我要做什么了么? junction "C:\Document and Setting\username\Application Data\Thunderbird" d:\username\.mozilla-thunderbird 然后启动thunderbird,他首先会检查你系统中插件的版本可用性。然后你的Linux下邮件就可以用了。 简单吧?

关于程序的一点想法

Oct 13, 2007 - 1 minute read - Comments

以下内容六牙四皂小姐可以看看,至于看的懂看不懂不负责。 程序届有个说法,只有你想不到的,没有我做不到的。当然,程序是基于数学的。如果违反了数学的基础理论,程序还是无法实现的。可程序又不同于数学。说穿了,程序有一个时间,成本和环境的限制,有的时候还有法律问题。理论上说,任何一个水平足够的人都可以写一个windows出来。但是,首先是一个人写需要多少时间。其次是这些时间,还有其他投资(例如电脑)所造成的成本。然后是这个windows所能运用的环境。当然windows也许没有这个问题,可如果是程序就必须考虑适用系统(Windows,*nix),字长(32bits,64bits)等等限制。最后,一个和windows一样的系统是否会侵犯了微软的版权? 对于程序员来说,可能这些都不是问题。程序员面对的是明确的目标,环境,解决方法和框架。他们要解决的是按照构思来实现功能,并且按照算法来构建代码。例如一个播放器,对程序员来说可能就是一个确定的接口,向里面写入固定格式的数据。或者引用某种算法读取压缩数据,解压为通用数据进行播放。或者是实现解码器的注册和管理。这些都是已经被严格确定了的目标。程序员有一个固定的环境,一个统一的框架。解决方法或者是被说明的,或者是不言而喻的。 可是由一个抽象的需求来获得一个明确的目标,并且确定环境和实现方法由谁来做呢?一般这些人被称为需求分析师和系统构架师。需求分析师的工作在于帮助用户确定需求,分析需求的可能性产出(例如播放器中是否需要一个屏保屏蔽功能),分析系统的目标环境。这些任务更多的是出于用户角度考虑的,主要是我需要做什么(what, why)。系统构架师则是一个对称的职务。其主要职能在于确定如何使用目标环境中的各种技术实现目标需求,使用这些技术完成目标需要多少时间,多少成本,是否引发法律问题。等等等等。这些问题更倾向于从程序员角度考虑,主要是怎么做(how, when)。 当然可能没有这种职位,但不可能没有这种职能。有的时候分析和构架是由项目经理兼任的,有的时候是由客户驱动的(尤其是外包的时候)。至于完全没有的时候,就只有将需求分解为零散的问题,对问题求工具了。理论上说这是一种很好的方法,强大的bash语言体系其实就是由一堆解决细节问题的工具组成的。问题是,这种情况下,对于工具的使用者就提出了很高要求。往往会把工具的使用者变成另外门语言的使用者。例如我们看电影,一般用户只是点开就看而已。如果是针对问题求解,可能我们会出现一个播放容器,一个编码分析器,一个视频解码管理系统,一个音频解码管理系统。最后还需要一个注册器来关联适当属性的播放容器和某种文件类型。从软件结构角度,这样的软件有利于构架和编写。可从用户的角度,这是最差劲的播放器。事实上,mplayer就属于这种播放器。我们用起来觉得简单是因为一些高手制作了一些预先设定的包,将所有组件关联起来。 我们回到原本的问题上来。如果用户驱动了系统的构架,那问题自然不大。只需要制作方评估系统规模,然后按照规模给出成本和时间。双方讨论一个可以接受的成本和时间,东西就可以做了。至于客户变更了系统,那自然有相关的人员会重新评价,给出新的成本和时间。问题是如果约定不清晰,可能会造成比较大的麻烦。例如客户认为他们给出的解决中必须实现某个东西,而程序这里认为是最好实现某个东西。那就扯不清楚了。因此一般建议编程人员向客户要求一份详细的制式计划书,然后双方签字确认。根据合同法规定,如果制式合同中出现纠纷,应当被解读为不利于提供方的方式。倒过来显然是不行的,既不能指望编程人员提供计划书,也不能指望客户不会对计划书随便解释。 如果是由非客户的分析和构架人员来做系统构架,那么情况就复杂了。问题实质上其实变成了五方会谈。客户方,代表客户方的需求分析师,制作方,代表制作方的系统构架师,还有程序员。看起来有点重复,但是其中都有利害关系的。客户方希望需求分析师提出尽可能多的需求,因为这样才能产生好用的软件。系统构架师则希望需求分析师提出尽可能少的需求,这个才容易制作和维护软件。制作方希望系统构架师提出尽可能高的成本和时间预算。这样有充裕的时间制作,不会制作失败,还可以多赚钱。但是客户方不会喜欢很高的成本和迟到的软件。程序员希望系统构架师给出的解决方案足够清晰,而且改动少。系统分析师总喜欢在程序员的失败中改进方案,因为简单啊。客户方希望程序员给出完整的文档和后期维护,但是程序员都不喜欢写那东西。 所以需求分析师往往会提出一堆怪怪的功能,即使这东西一般人八辈子用不到。系统构架师往往会提出高的吓人的成本和时间预算。和股指差不多吧,没几个有脑子的相信。真正的成本和时间就会在客户和制作的吵架声中被确定,并且往往成本高出正常值,时间低于正常值。程序员就在一次次的咒骂声中修改系统,并且经常忘记跟着修改文档。客户拿到手的往往是一个延期了再延期的系统。它们十有八九跑的起来,刚好可以完成预定目标。只是往往会有一些Bug,并且只有不同步的文档。系统就会在客户的抱怨声中被退回,而且客户还会追加两个需求,加上句“钱不是问题”。制作方看在孔方兄的面子上,往往也会说“保证完成任务”。系统修改的结果往往是Bug越改越多,文档越改越老,系统越改越奇怪。最后系统分析员往往会找到一个下家而跳槽,客户往往会因为钱是问题而拖帐,制作方往往会保证完不成任务,程序员往往会抱怨天天加班,唯一没问题的需求分析师往往是客户亲戚兼任的。 到底是哪里出的问题?

空之轨迹SC中文版部分攻略

Oct 12, 2007 - 1 minute read - Comments

贝壳望眼欲穿望穿秋水(好像是一个意思),总算盼望到了英雄传说SC中文版的发行。Falcom牛阿,卡卡布三部曲那么强的东西在前面,空之轨迹居然还能超越,而且一部比一部好。做到这种境界真的不容易。轩辕剑系列就有点略略的走下坡的样子。 现在讲几个解迷中比较恶心的地方。 头一个是被盗的招牌。先找钟楼背后,然后是卡佩尔里面的对话。然后是三个联在一起的烟囱,最后到地下找菲。 然后是和小女孩捉迷藏,找过所有地点(四个)后可以进入接待室。在台子的底下,别到处乱找了。 下面是玲暗语。头一个是钓师工会的标本,然后是西区的咖啡厅。下面是东区的冰激凌店,最后去空港。 再然后是消失的订婚戒指,在翡翠塔顶部。 下面是被盗的勋章。头一个地点是在导力工厂后面的花盆里面(倒置密码),第二个是协会三层的书里面(维基尼亚密码)。下一个在机场下面的铲车上,最后去教会上面的书里面。 消失的侄女那章,那位小姐就是市长小姐的女仆,关系很好的那位。看发色应该看的出吧~~ 在利贝尔方舟上面领福音的时候,选择名字赛雷斯托.D.奥赛雷斯。就是一堆晶体里面有写的那位,公主的祖先。所以要验证身份的时候只有公主能验证通过,要记得带人过来,比较麻烦。 最后是最终的大BOSS,合体后的白面。这家伙血99999,而且硬的下不去手。正常的攻击魔法都伤不到100点,还有一堆小怪在旁边消除空间。消除了的空间就会永远消失,地板会越来越少。正确的做法是经常看看这家伙的属性(一定要有情报一类的回路啦)。这家伙会轮流跳来跳去,在火土水风不防护,其余免疫上。属性对了一刀就是3000-5000。如果都是100,那用物理攻击。如果缺哪门只有死的份了。 贝壳攻略这个游戏的时间大约是50小时,其中还修改了游戏的很多关键属性(主要是钱和晶石,后期修了一堆神圣挂链和土人偶)。虽然省下不少打游戏的时间,但是还是完成了很多支线任务(有几个不知道状况的被错过了)。解迷真的很费劲阿,尤其是被盗的勋章和一个地宫的怪物。那家伙强力气绝,一个弄不好就是全灭。三五次没过去花了我两个小时,一怒干脆弄出堆神圣挂链当手信了。

三甲港游记

Oct 10, 2007 - 1 minute read - Comments

三号的时候,找了个朋友出去玩。找来找去,上海没有啥好玩地方,干脆去三甲港吧。 三甲港是浦东最早开发的旅游海港,离机场不是很远。有钱的可以坐车到龙阳路,再磁悬浮到机场,打车过去。不过一般来说,只有白痴才这么坐啦。来回路费就高达100每人,差不多够去玩的所有费用了。推荐坐地铁到陆家嘴,走到东昌路渡口。或者到外滩,摆渡过去就是。贝壳是地铁过去,在正大吃过午饭再出去的。 说到午饭,还有一桩怪事。贝壳的朋友,传说中的六牙四皂小姐,来到上海玩。她换了手机和号码,因此贝壳发的拜节短信没有收到。同时也没有贝壳的号码,所以她没法联系贝壳。所以,当天中午贝壳在正大的汉堡王吃饭,六牙四皂小姐就在旁边的松本家吃饭。NND,第二次错身而过。 三甲港的门票要38一个——是很不便宜。里面玩的东西也一般。皮艇,竹筏,骑马,乘车观海,胆子大的还可以游泳。港口本身是看不到海的,前面被很大的防波堤挡着。因此有电动车观海,还有骑马在大堤上跑的项目。至于皮艇和竹筏,好像是水边的必备项目吧。至于游泳,海水不是很干净。回头要记得冲洗,以免生病。其实还是找个游泳池来的划算,毕竟游泳池更为安全放心(呃,除了比较像下饺子)。 贝壳也没有带泳裤,所以只有划船咯。海边的风不小,还有夕晒。不撑伞会被晒伤,撑伞就会被往芦苇里面吹。要是全是臂力不足的女士们来玩,请千万带好男性同胞。贝壳就看到了两帮女士在芦苇里面没辙的场景,或者你想冒着被晒伤的风险放弃打伞? 晚上的饭就在旁边的餐厅吃的。本来里面有烧烤,可是贝壳和李定婷同志上次烧烤的经验实在太过惨烈。外面黑了,里面还带血,想想要再吃哪种东西就心寒。而且一个炉子45,要吃饱起码100多,也不合算。出去吃烧烤吧——灰太多。强烈建议三甲港的管理部门整理一下,海边这么多灰像话么?最后吃海鲜,旁边到有几个大的海鲜城。可惜看价格也不是我吃的起的。小饭店点了一个鲈鱼结束。 说道鲈鱼就丢人,本来以为海边的东西应该都新鲜的。蒸上来一看,眼睛出来的。当场就知道吃亏了。不过别的都吃到一半了,这个亏也只有认了。希望大家下次吃之前弄清楚这些问题,省得再吃这种亏。

英雄传说6空之轨迹SC修改

Oct 10, 2007 - 1 minute read - Comments

以下是空之轨迹SC的存档修改方法和部分物品代码表,六牙四皂小姐可以跳过了。 晶片数目: 0x2534C 金钱 0x25354 地 0x25358 水 0x2535C 火 0x25360 风 0x25364 行动 0x25368 EP 0x2536C 时间 个人经验: 0x1F460 艾丝蒂尔经验 0x1F514 奥利维尔经验 0x1F550 科络丝经验 0x1F604 金经验 物品代码: 01c9 最终浓缩药草茶 01c8 大麦奶酪果冻 01c7 苦味兽肉焖 01C6 每日天妇罗 01AE 提神果冻 01C4 营养果汁 019F 清凉药草茶 01B9 内陆佳肴 01BD 卡布其诺薄饼 0195 千层薄饼 01a0 红莲炖兽肉 01a6 春风螺狮面 01ba 阳光冰淇凌 01bb 月光冰淇凌 01A1 不可思议的糊 01AF 激情蛋卷 01be 终极冰淇凌 01b0 海味鲜珍 000f 火绒草杖 0014 蓝璃 001b 麒麟

骑马

Oct 8, 2007 - 1 minute read - Comments

首先请大家表误会,这个马真的是指马。 国庆前一天,公司请大家去玩,内容就是骑马。 贝壳这体重骑马,OMG,貌似有那么点点的问题。上去的时候,马一颤差点就跪下了。幸好在骑的时候问题并不大,虽然马的速度有那么一点点的折扣—— 骑马的时候需要随着马的上下颠簸而起伏,否则会被颠成白痴的。不过很可惜,贝壳的体重要颠簸是非常困难的。无论是从人的角度还是从马的角度都是种折磨。所以,贝壳为了人的健康(尤其是为了男人的健康)和马的健康,骑了两圈就逃跑了—— 还是等减肥完成再讨论吧——

libxml2入门和中文支持

Sep 28, 2007 - 2 minute read - Comments

libxml2是gnome做的一个xml的库,支持SAX和DOM。 在解析xml的时候,libxml2会将xml中不属于标签的部分作为text节点插入。如果是属性,则添加一个属性节点到父节点上,一个文字节点到属性节点下。那么整个xml就变成了一颗单纯的树。 支持多语言的问题上,libxml2的内核只支持UTF-8。但是可以通过注册编码句柄来添加语言支持,一般是配合iconv[2]使用的,因为libxml2的编译依赖就是iconv。下面是代码。 iconv_t iconv_utf8_gbk; iconv_t iconv_gbk_utf8; int gbk_input (unsigned char *out, int *outlen, const unsigned char *in, int *inlen) { char *outbuf = (char *) out; char *inbuf = (char *) in; size_t rslt; rslt = iconv (iconv_utf8_gbk, (const char **) &inbuf, (size_t *) inlen, &outbuf, (size_t *) outlen); if (rslt < 0) return rslt; *outlen = ((unsigned char *) outbuf - out); *inlen = ((unsigned char *) inbuf

wget介绍

Sep 25, 2007 - 1 minute read - Comments

从今天开始,贝壳每周介绍一些小软件,作为基础的电脑知识普及。软件可能是Windows的,也可能是Linux的,要点是轻巧好用。由于是简介,不会写的太详细。想要看专业介绍的,会给出Reference。 今天介绍的软件就是wget[1]。这个是*nix下的下载软件,也有windows移植[2]。现在可以运行在任何一种POSIX系统上。软件是GPL版权的,属于GNU开源组织的核心代码,也是GNU组织的几大招牌之一(最出名的是GCC)。如果要看详细的资料,请看这里[3],可惜是英文的。 wget是*nix时代出名的下载软件,以稳定和通用出名。主要针对http和ftp协议的文件下载,拥有很多配置选项和能力。其中比较有名的是链接跟随,这种能力可以跟踪html内的链接。例如将所有链接所需的文件下载到本地,并且修改链接地址,即抓取完整页面文件。跟随链接抓取多重页面(网络蜘蛛)。 wget不支持多线程下载,但是支持断点续传。最常用的用法是wget -c [URL]。如果没有文件就直接下载,有文件就尝试续传。如果没有文件重试次数的指定,几乎就是无限制的下载。下载非常稳定,就算每小时下载10字节都不会断线。 和今天的GUI多线程,甚至带P2P的下载软件相比,wget无疑是非常单薄的。然而由于是基于命令行的,而且非常稳定,因此经常被用于脚本语言中。例如bash或者python,用于下载网络文件后的处理。windows中的很多脚本也可以用这个软件来下载网络文件,非常方便。 Reference: GNU Wget: http://www.gnu.org/software/wget/ Wget for Windows: http://gnuwin32.sourceforge.net/packages/wget.htm GNU Wget Manual: http://www.gnu.org/software/wget/manual

自由软件日

Sep 24, 2007 - 1 minute read - Comments

大家好久都没有看到贝壳了,知道干嘛去了么?到总公司辞职是一件事情(分公司员工还要去总公司辞职,还不报销来回路费)。还有一个就是自由软件日。 贝壳3号辞职,公司效率倒是挺高,6号就办好了手续。可贝壳还要等等确认所有东西对了,加上贝壳的一点东西拖了好久(什么东西?就是上面blog有写的那个阿——就是那个——)。所以趁机做掉去。(尽管知道是怎么回事,可是说出来还是感觉两腿间发凉)。做掉后需要静养一周。消炎静卧还不能洗澡。贝壳上班忙没这功夫,这次正好到巧了。 做掉之后(继续发凉),贝壳修养好了刚刚好参加自由软件日,然后乘飞机回上海等上班。飞机的情况大家都看到过了,今天就说自由软件日咯。 这个活动的举办地点在清华东门的Fit楼,主旨是向学生推广一下自由软件的概念。同时也是几个社区的人聚会一下,大家认识一下。贝壳也算是热心公益,跑过去凑凑热闹。 会其实不大,楼下一堆Linux厂商。红旗,RH,debian,等等等等。楼上是一个演讲厅,一堆大牛在里面演讲。好歹贝壳是志愿者,老跑上去听演讲可不专业。所以还是乖乖的在楼下开了贝壳自己的本本,给别人讲解啥是Debian。期间贝壳发现几个有趣的现象。 首先,漂亮MM旁边都有老外,老外旁边未必是漂亮MM。当然也有旁边不是老外的漂亮MM,那多数是专门做演示演讲的活动人员。 其次,跑上来问7.04还是7.10的一堆,问这是什么系统的其次。不问系统而问我本本左边插的CPU抽吸式散热器的最多。让我不知道这个是自由软件日展览还是奇怪的设备展览—— 最后,光盘散发的是所有纪念品中最快的,几乎是刚刚开就没了。衣服其次,最后还多了几件不对号码的。贴纸和传单快到结束了才发光。 不过总之,能介绍介绍自由软件,认识几个朋友,这界自由软件日也基本是物有所值拉。