Ant-Veil

Caspar Blog

CM7.1 on DEFY

| Comments

CyanogenMod, the community Android mod, is officially supporting Motorlora Defy in the latest release CM7.1. Now the system seems running well on my device.

Why I want CM7.1 on my machine:

  • try something new
  • I need openvpn
  • 2.3.4 ROM for ME525+ not working well on my device :-(

I followed most of the instructions from the post in CM forum, except that I didn't install gapps-gb-20110828. For some reason, Android Market from 20110828 package continously got crashed once I opened the application. I tried with gapps-gb-20110613 and Android Market worked as normal, so I recommend using this version of gapps if you ever encountered similar issue like me.

在 Red Hat 两年

| Comments

已经进入我在 Red Hat 的第三年了,看到两年来这贫瘠无比的博客,决定把阶段总结发到这里来,挽回一下我那正在疯狂下滑的订阅数,嗯。回头看了一下以前的日志,去年这个时候竟然没有写总结,干脆两年的一起写好了。行文照旧会比较混乱,请将就将就。

刚以实习生身份进入 Red Hat 时,主要工作就是验 Bug。记得当时很多 Bug 的描述都很不清晰,往往一个 Bug 就浪费一两天时间去分析。有的 Bug 还不能用脚本重现,只能物理接触硬件。有一次在机房里呆了一个下午,要用针头去戳机器上的一个小孔[1],戳了我整整一个下午。类似的折腾人的 Bug 仿佛是永远都不会消失,现在我还在跟他们打交道。

一个月后,老板让我了解一个测试套件LTP,之前是他一直在维护这个工具在内部测试平台上的正常运行,交给我之后他基本上就没再怎么管过它了(直到最近,他开始往 LTP 提交内存相关的测试代码,这是后话了)。我当时的基本工作就是定期把 LTP 的稳定发布版本移植回内部测试平台,然后如果运行出错,根据运行情况如果是 LTP 的问题,就写一些补丁来修复 LTP 运行时出现的错误。从此我才正式结束和开源项目社区浅尝辄止的试水活动,开始深入社区贡献代码。为 LTP 编写补丁对我的帮助很大,一方面跟编写补丁相关的工具,比如说 git,都熟练掌握了;另一方面通过熟悉 LTP 的测试代码,了解了很多从用户空间测试内核功能的方法;而且我也学会了怎么在邮件列表里面跟开发者吵架:)

关于简历的杂碎

| Comments

最近在帮组里招人,不过一直没有招到合适的(去年校园招聘时候招到过一个合适的,结果被隔壁@GMoto组里给抢去了……泪了个奔的)。一直不停地在系统里刷简历,邮件列表里收简历,于是有些碎碎念就冒出来了。想到我不久以前也是简历那一头的角色,现在变成站在这一边的角色了,正好可以忆苦思甜,对比一下。丢在这里,大家凑合着看。

首先得先介绍一下我所在的公司的背景,因为不同公司对待简历有不同的风格。好多人都知道,我现在呆在 Red Hat,就是那个跟某快递公司重名的做 Linux 的公司。至少我们研发部门这边,不会因为简历没写称呼没写落款就不看,也不会因为简历排版混乱就丢在一旁,甚至发现提交的是个 Word 文档,或者联系邮箱留了个带 qq 号码的 qq 邮箱也会认真的去看——只不过第一印象和心理上已经有些想法而已。一般来说,我们喜欢排版简洁的正文简历和 pdf 简历,如果能提交个 odt 格式的也能感觉出投简历的人确实是用心的。另外不是为了装 X,我们要求中英文简历是因为,如果面试结果良好,通常把简历会转交给国外的同事看,决定是否进一步面试。

小结一下,不管简历样式有多糟糕,只要能打开,我们就会认真看。当然非常不幸地,这也是我觉得某些提交简历的同学是折翼的天使的原因。

Libfprint Finally Supports Thinkpad T410

| Comments

I have been keeping tracking of this RHBZ for long, and I am happy to see libfprint finally supports my fingerprint reader on T410. Seems that the original author Daniel(dsd) was very busy so that another developer in Red Hat, Bastien Nocera, took this project instead. He moved the libfprint git repo to freedesktop.org, with the newest patches applied. You can find the new git repo here, and new libfprint release(0.2.0) here. Bastien Nocera is also maintaining fprintd, "a D-Bus daemon that offers libfprint functionality over the D-Bus interprocess communication bus". The git repo and new release are located here and here.

Besides the RHBZ mentioned above, you should be able to get more information from this message in fprint mailing list.

I updated my gentoo overlay in github, too. You can emerge libfprint and fprintd after you synchronized this overlay.

Enable Fingerprint in Thinkpad T410 Under Gentoo

| Comments

As I mentioned in the previous post, I couldn't get my fingerprint reader work in Gentoo. Now this problem has been solved. ;-)

Before starting, here're some useful links may help those who are suffering from similar fingerprint issues like me:

If you're using a fingerprint with USB id "147e:2016", you can have a look at this thinkwiki link, The "147e:2016" item is updated recently: a Red Hat Bugzilla URL added.

This RHBZ link tried to enable TCRD4C devices, but seemed that my fingerprint was another different type since it still did not work after applied all the patches attached.

------>8------ Cutting, Let's enable T410 fingerprint ------>8------

Using Fingerprint-GUI and UPEK SDK can easily enable fingerprint reader in T410. Fingerprint-GUI provides an integration of setup GUI, authentication plugin, PAM module and the UPEK library, all of the GUI parts are written with QT4 (I don't like it :-\), released under GPL-v3 licence. However, UPEK SDK library is EULA copyrighted and seems never to release the code to us.

重新装回 Gentoo

| Comments

最近到手 T410,先是折腾了几天把里面的正版 Win7 Pro 通过无损分区移到角落里,然后是装了个 RHEL6.0 用来做测试,最后重新开始折腾 Gentoo。

这次没有纠结于选择哪个桌面环境上,我一点也不嫌弃 GNOME 的臃肿,于是装了个 gnome-light。USE Flag 把以前用过的拿过来修改了一下,顺便提一句,在我不用 Gentoo 的这段时间听说 hal 被干掉了,所以我也追风把 hal 标记给去掉了。

启动的时候使用 grub2,本来打了 915resolution 补丁来使 grub 宽屏显示,但是打的补丁和 grub-1.98 似乎不是特别搭配,导致启动 grub 前后各有 5 秒停滞时间,加上 grub 启动过后仍然会有一个分辨率只有 640x480 的屏幕,我干脆就不用 915resolution 补丁了。使用 grub2,配上 ext4 分区,就可以不使用 initramfs 了,关键在两点,一是内核中 ACHI 选项要编译进内核,二是 kernel 行参数中不要使用 UUID。

说一下一些 Thinkpad 相关的配置:

一是声卡驱动。Thinkpad T410 的声卡应该是 CONEXANT 的,但是选择这个驱动后内核还是不认我的声卡。最后只好选择了通用驱动。

二是 hdaps,所谓的硬盘防震保护系统。portage 里面相关的三个包,一个是 hdaps 模块,一个是 GNOME 的 Applet,还有一个是 OpenGL 绘制的小程序,用来展示你的笔记本目前的水平状态。

Ya-bupt-thesis-bachelor 1.0 Alpha 1 Released

| Comments

这个东西总算是做了一大半了。因为拖了两个星期,论文还没开始写,接下来只能一边写论文一边改模板了。

简要介绍一下这个模板。

缘起是@yegle 曾经推荐过他的同学梵高(cnMuggle)的一个北邮本科毕业论文模板,我看了一下觉得不太符合我的需求,最主要是他用了 CTeX,这玩意儿在我的机子上水土不服。作为一个 Linux+XeTeX+xeCJK 党,我就自己动手开始写。

期间参考了梵高同学的模板,当然也参考了@gnawux(apt)同学,还有 DazzleZhang 在 apt 的基础上改进,还有老牌的ThuThesis。当然最主要还是依靠 Google 和 CTeX 论坛,把一些稀奇古怪的问题给解决了。

今天又解决了几个大问题,同时也把插入图片、插入表格、插入公式的格式整理了一下,所以就发布 Alpha-1 版本了。地址在Google Code上。接下来要完成的主要工作就是参考文献的排版。我一看其他模板的 bst 文件,几千行的代码,吓坏了。下次再搞好了。

欢迎提 Bug~

当系统调用不存在……

| Comments

最近在一个项目上卡了几天,整理出来主要碰到的问题,以备自己查阅。

具体的问题抽象出来就是这么一种情况:

有一堆分层的目录,里面全是系统调用的相关测试代码+Makefile,结构大致如下:

├── wait4
│   ├── Makefile
│   ├── wait401.c
│   └── wait402.c
├── waitid
│   ├── waitid01
│   │   ├── Makefile
│   │   └── waitid01.c
│   ├── waitid02
│   │   ├── Makefile
│   │   └── waitid02.c
├── waitpid
│   │   ├── Makefile
│   │   └── waitpid_err_test.c
.....

生活在信息膨胀的社会

| Comments

现在上网的,没下列东东都不好意思说自己是混互联网的:

个人博客(BSP/独立的至少得有一个吧),
twitter(以及其他各种围脖们),
豆瓣
facebook
Google Reader(或者其他 rss 订阅工具),
feedburner/feedsky
flickr 相册(或者 picasaweb,或者国内的 oo 和 xx),
lastfm,
youtube 订阅,
friendfeed,
……

在这个信息膨胀的社会,如何获取信息是个头疼的问题。下面列一下自己是如何把这些信息来源整合起来的,以供参考:

整合所有信息的核心就是 feed/rss,所以首先要把博客搞一个托管,或者干脆直接用自带的 feed(前者的好处是,换了博客可以不用通知别人修改你的 rss 地址)。我主要采用 feedburner,在 wordpress 里用了feedred这个插件,把自带的 feed 重定向到了 feedburner 上。因为很久很久以前 feedburner 被墙了,所以 feedsky 也用过。

然后就是 Twitter,作为一个重度 Twitter 患者,巴不得把自己博客更新、Google Reader 分享、豆瓣新鲜事、新拍的照片等一堆东西同步到 Twitter 上。这里有两种解决方案:

1. 使用TwitterFeed.com

2. 使用 FeedBurner。

前者自己摸索就好了,我更推荐后者,因为自己有种感觉 FeedBurner 同步速度很快,莫非它采用了每分钟轮询的策略?Orz……在 FeedBurner 管理界面的"Publicize"中有个"Socialize",里面可以设置把当前 feed 同步到 Twitter 上。

搞定 LaTeX Beamer 模板

| Comments

过一段时间公司和学校都得做 presentation,所以现在就得好好开始准备 slides。以前我就用 Beamer 做过一次 slide,而且是匆匆忙忙用了默认模板搞定的。这次借着再做 slides 的机会,我得自己搞个模板。

需求如下,非常简单:

1. 要在合适的位置打上 Logo(一般是左上角或者右上角);
2. 要能自定义页脚
3. 首页要有背景

经过半个白天加一个晚上的折腾,基本上解决了上述问题:

要打 Logo,并且自定义位置,可以使用如下语句:

 \logo{\pgfputat{\pgfxy(#1,#2)}{\pgfbox[center,base]{\includegraphics[height=0.5cm]{#3}}}}

事先要包含 pgf 宏包,#1,#2 是 Logo 坐标,#3 是 Logo 路径。关于坐标,我发现用 pdflatex 编译和用 xelatex 编译时坐标表示的实际位置是不同的,反正自己手工慢慢调就是了。也可以把上述代码加个\newcommand,做成一个带参数的命令直接调用。

自定义页脚,我参考了 beamer guide 和 beamer 里面的某个宏包的写法: