Tagged with 折腾

十一电脑折腾记

十一长假没去哪,宅在家里,闲来无事,于是想升级下电脑。

08年底买的机器,用了快两年了,按理说换点东西也不算奢侈。不过平时用起来感觉速度还行,下载开发都没有问题。游戏玩的少,高级点的就星际二,我E5200 + 4G完全可以对付。

想换了CPU,E5200连酷睿2都不是,而且现在i5,i7都出来了,再不升级,老型号的CPU都停产了。4核的不错,能耗低,潜力大,也不贵,900不到。但是如果CPU换了,黑苹果又得重新配置重新编译DSDT…… 想到这里我就立即否决了这个方案,这东西太耗神了。

重新定位目标后,我想我要的理想的机器是:安静, 能跑mac os,能玩下星际二和BT下载。macbook pro倒是蛮符合,不过小贵,而且用来bt太浪费。Mac Pro很完美,不过得2万,残念都没有。看来还是我现在的机器合适啊,主装机就是这点好,比较适合某些小众。用黑苹果的人越来越多,这只能怪苹果产品线太小了。

有了目标,排除了候选答案,剩下的就很明确了:降低噪音,这对主装机来说是个通病。现在的机箱有很多选择,有全铝的,有烟囱风道的,有外形拉风的… 不过有了静音这个目标,选择就不再犹豫了,安钛克的P183。虽然现在价格涨了,样子也一般…. 但是我别无所求。

Tagged

安静的机器

我的组装机最近噪音很大,拆开后一一检查,发现主要的音源来自于电源。没想到当初买的“冷静王”用一年就这样了,但是不甘买个新的,太浪费,于是打算换个风扇。

风扇用了个普通的coolmaster,换上后噪音小多了,不过比起电源原装风扇来说感觉转速太快,都是呜呜呜的风声。哈哈,这是小问题,这里可以用便宜有好用的“风扇调速器”,我原来用过感觉效果很明显,而且才9元一个。这比买一个号称超静音风扇便宜多了。当然如果如果风扇是四口的带温控功能的更好,可以主板自动调节。

如下图:把电源风扇的接口伸出盒子,然后接上调速器。感觉有点像体外的心脏起搏器?!

下面这个是我原来装的另外一个机箱风扇调速器(用上瘾了)。旁边的是显卡散热器,静音的(当然,没有风扇),花了我300,快赶上显卡价格,体格也很夸张。

这样下来后声音确实小多了。有时候想这么折腾还不如买个Dell的品牌机:公司的机器声音确实很小,不过兼容机更自由,比如这块主板,哈哈,你懂的。

cool1

In Linux system, there are lots of tools to monitor machine, like gkrellm, which can find all sensors and show them, same as windows counterpart. But for mac osX user, it is not so lucky.Maybe of course, osX just has one kind of machine, except for “black apple”.

Tagged

修改Android的自带程序:“屏幕锁” - 加上联通标志

我的机器是G1 + 联通WCDMA + Android 1.6 (Donut)。在原来用移动卡的时候,屏幕锁上有运营商(carrier)的标志,换成联通的卡后没有这个标志(可能是sim卡里面信息不全的缘故),光光的很是煞风景。这里说说下我修改的漫长过程。

0.check out 代码

这里要checkout出donut的代码,目前google源上已经有比这个更新的版本2.1,所以不能直接拿来用,否则我想机器启动会有问题,毕竟屏幕锁是系统第一个界面。

repo init -u git://android.git.kernel.org/platform/manifest.git -b donut

如果原来用的是master也没关系,repo sync时不会重新checkout所有的代码,所以会很快。然后进入项目framework/policy/base,运行命令git describe可以查看当前版本,git tag察看所有tag,可以用git checkout donut会只签出当前project的代码(很奇怪,donut这个HEAD不在git tag里面,git水很深啊)

1.修改Java代码。

研究了源代码后,我发现如果用修改配置或者扩展类的方法是改不了这个标志的,因为很多类在初始化时就定义了hard coding了type,扩展已有类是行不通的。于是就直接修改界面代码吧,这样也简单明了。定位framework/policy/base/phone下面的LockScreen.java,

    private void refreshSimOkHeaders(CharSequence plmn, CharSequence spn) {
        final IccCard.State simState = mUpdateMonitor.getSimState();
        if (simState == IccCard.State.READY) {
            if (plmn != null && !TextUtils.isEmpty(plmn)) {
                mHeaderSimOk1.setVisibility(View.VISIBLE);
                mHeaderSimOk1.setText(plmn);
            } else {
                mHeaderSimOk1.setVisibility(View.GONE);
            }

            if (spn != null && !TextUtils.isEmpty(spn)) {
                mHeaderSimOk2.setVisibility(View.VISIBLE);
                mHeaderSimOk2.setText(spn);
            } else {
                //mHeaderSimOk2.setVisibility(View.GONE);
                mHeaderSimOk2.setVisibility(View.VISIBLE);
                mHeaderSimOk2.setText("China Unicom");
            }

最后3行是我修改的,hard coding就没啥好说的了。关于plmn和spn的区别,看这里

2. 编译

make android.policy

这里只编译这个项目,会得到一个android.policy.jar。

遇到‘convert_endian’ undeclared (first use in this function)的错误看这里,error: cast from ‘char*’ to ‘int’ loses precision的错误看这里。个人感觉新版本代码编译错误更少。

另:我倒是想过直接修改android.policy.jar里面的classes.dex,比如先反编译,修改后直接再编译回去。不过网上找了几个工具,效果都不是很好。不清楚是dex反编译现在不成熟还是Google对dex保护太好。

3.模拟机上测试

为了保险起见(我可就这个手机),现在emulator上运行看看。本来想直接修改sdk带的system.img省事,后来发现用mkyaffs2image生成image不能用:模拟器起不来。算了,后来我是老老实实用make snod重新生成system.img。

4.上传到真机

这又是一个很烦琐的过程:mount /system让它可写(步骤见这里),adb push(先adb pull 备份,保险…),然后,如果你跟我一样遇到Failed to copy: Permission denied.和Cross-device link的问题,一定要参考这个贴子,不要自己折腾了。最后chmod 644 android.policy.jar,恢复文件原来的属性。

5.重启

没啥问题,看来我是太小心了。看到结果后感觉也很一般,这个过程太折腾了,可能会又更好的办法吧,我是对git和make一点不熟,出了问题只能google。还好有点收获…休息去了,我的周末…

device

Tagged ,

折腾Snow Leopard

2010年元旦早上开始折腾SL,又想装到我的台式机上…

我的台式机主板是GA ep43-ds-3l(nonsense的数字如数家珍啊),当初之所以买这个板子,就是因为在pcbeta上听说技嘉的这块板容易装上leopard,目睹其他板子遭遇到的种种拍案惊奇现象,想少点折腾,于是乎话了800大洋买下这个机器里面最贵的配件。

刚买电脑时装过花豹,后来删了,删了的原因是因为windows 7还真是不错的,我不想玩个小游戏还要回到windows下,而且一边写代码一边电驴是很惬意的事情,可惜花豹下这些都没有。当然装雪豹的时候,这些固守的国产软件还是没有mac下的版本,那为什么还要装呢?

最近正在拜读《More Joel on Software》,遇到一篇文章:FONT SMOOTHING, ANTI-ALIASING, AND SUBPIXEL RENDERING,再次提到我心中的纠结之处:字体反锯齿… Windows的适合阅读,mac的更真实(文章里没linux什么事,模仿别人的杯具啊),哪种更好取决于你习惯哪种:如果你用windows惯了,会找出各种理由说cleartype效果更好。

于是,为了抵抗习惯,恢复心中的残念,得了古鲁的暗示,我决定装黑雪豹,顺便也可以抛弃cygwin了,compile android source code也不用跑到虚拟机上面了…

絮叨到这里,接下来如何具体的折腾就觉得不是那么折腾了,小半天就装好了。

Tagged