H3C 拨号程序 for NUAA

南航明故宫宿舍区使用的是 H3C 的 802.1X 拨号程序,学校提供的华为原版和锐捷版都极其不稳定,尤其是在 Windows Vista 和 Windows 7,至于 linux 版本更是没有了。

这里提供一个基于一个北航  H3C 802.1X 拨号程序修改而来的拨号器源代码,有 Windows 版本(需要安装 winpcap,运行时需要管理员权限)和 linux 版本(需要 Network Manage,可能不兼容最新版的发行版),需要的同学可以自行 fork、修改、编译使用。

如何让 Android Gingerbread 看起来像 ICS

CM 9 仍然处在 Nightly 阶段,我的 Moto Defy 不知道要到什么时候才能用上 4.0 的稳定系统,于是发挥计算机专业的折腾精神,让 Gingerbread 2.3.7 看起来像 ICS 4.0 也不错。

原版的 CM 7.1 系统看起来是这样的

下面开始动手,注意以下内容请谨慎操作,本博客不承担任何风险。

继续阅读“如何让 Android Gingerbread 看起来像 ICS”

Build a kernel

这两天没事又继续折腾内核编译,上次是从 SRPM 编译出 RPM 然后安装的,似乎比较简单,这次则直接从源代码包编译。

首先从 kernel.org 下载一个源代码包 linux-3.3.8.tar.bz2;

解压缩后,得到源代码目录 linux-3.3.8;

将 Fedora SRPM 中的 patch 文件复制到 linux-3.3.8 目录下,打上这些补丁;

配置 .config,这次图省事,就把 Fedora 的 .config 拿来用了;

之后就可以 make 了,make 会将 vmlinuz 和 kernel module 都编译出来,如果中间没有任何错误,就会一直进行下去,直到完成。

笔记本散热不好,N 次由于过热而自动关机,编译过程就被停止了。重启后,再继续 make 有的时候会出现 unrecognized ELF 错误,而且对于每次编译,这个错误似乎是随机的,查了半天,根据这个资料,由于编译意外中止,导致 ccache 的缓存数据出现错误,用 ccache –clear 一下,就可以继续编译了。

编译完成后,提升到 root 用户,执行 make install_modules make modules_install 安装内核模块,make install 安装内核;

最后根据需要,自己去改一下 grub.cfg 吧。

终于将 Fedora 17 跑在新编译的 3.3.8 内核上了

如果想让内核版本更突出个人的风格,可以修改源代码根目录的 Makefile,其中有

EXTRAVERSION =

默认没有值,这里可以填写任意的字符串,比如 .sunjw,那么编译出来的就是 3.3.8.sunjw。

Fedora 17

从昨天下午开始,到现在,终于把 Fedora 17 给装的差不多了。

之前一直用的是 Fedora 15,感觉有必要升级一下了,于是在备份了个人文件和配置文件之后,就着手升级工作。

一开始还是想通过 preupgrade 进行升级,这个决定最终导致浪费了一个下午的时间。运行了 preupgrade 后,一开始挺顺利的,下载了需要的软件包,之后重启。第一次重启就遇到问题,直接花屏了。加上了 nomodeset 参数之后,成功进入图形界面,但是立刻又出现问题,说是找不到软件包的数据源(repodata.xml),然后就只能退出安装。于是想重新启动之前的 Fedora 15,但是却进不去图形界面。再一次,我选择进入升级,提供了一个在线的软件源之后,似乎开始正常升级了。原来以为会一切顺利的升级下去,没想到在开始安装软件包之后,出现了软件包无法访问的错误,仍然只有退出。重启后,又试图进入原来的 Fedora 15,然后神奇的事情发生了,又能够正常进入图形界面。

最终还是选择放弃使用 preupgrade 进行升级,转向下载 DVD 重新安装。使用 DVD 安装基本还算顺利,不过进入系统后系统找不到适合笔记本的 ati rs480 驱动,只能在低分辨下运行。找了一圈后也没有明确的资料说明到底应该装什么驱动,于是试着下载 xf86-video-ati 驱动,手动编译安装,一开始自动安装脚本将驱动安装到了 /usr/local/lib 下,驱动没有被加载,之后又手动拷贝到 /lib64/ 中对应的文件夹下,重启 X 后,终于 1280*800 的完整分辨率运行起来了。

JSMinNpp 1.11 Released

What’s New 1.11
Move to Google Code.
Add a Json Viewer.
Change classes inheritance hierarchy to build a smaller binary file.

Download from here and try.

Although the source code repository has been moved to Google Code, downloading is still from SouceForge.net.

Sooner or later, it will be on GitHub

开始向 Google Code 迁移

上次做 PPT 的时候被 @Li Fanxi大神 问到一个问题,为什么不把 Tetris5 托管在 Google Code。当时倒是没多想,毕竟 SourceForge.net 的用这也比较熟了,所以也没有太多考虑过是不是应该试试别的托管服务。后来逐渐的开始使用 GitHub 以及 SourceForge.net 时不时的无法访问(和墙没什么关系,是 SourceForge.net 自己的问题),让我开始有了换个托管服务的想法。

一开始想直接迁移到 GitHub 上,但是目前 Git 还不太会用,而且之前的项目一直用 svn 管理的,所以考虑了一下还是 Google Code + svn 作为迁移目标。

第一个迁移的是 fHash,说明、截图和下载已经转移完毕,代码库随后也会移过去。

JSMinNpp 也会被转移过去,并且将会趁此机会改名为 JsToolNpp,因为现在已经远远不是一个 JSMin 功能这么简单了。这个估计要花一些时间才能完成,希望赶得上下一个版本的发布。

用程序解决 Draw Something

Draw Somthing 是最近很流行的一个游戏,iOSAndroid 平台都有对应的版本。
游戏很简单,玩家看到单词,然后画给网络对面的玩家。对方看到图片,根据下面给出的候选字母拼出单词。

仔细想了一下,编程解决猜图画,难度比较大。但是可以解决根据已单词长度和候选字母,在字典中寻找符合这两个条件的单词作为候选,之后再由人肉方式得到最终答案。
首先需要准备字典,如果使用标准的字典序,在搜索时需要根据长度过滤单词。其实没有必要每次搜索的时候做,重新对单词进行排序,先按照长度比较大小,只有当长度相同时才按照字典序比较大小。之后就可以将单词整理成按照长度分隔的字典。
搜索时,参考拼写检查算法,将候选字母按照字母顺序排序成列表,将单词依次取出后,也把单词变形,将单词内的字母按照字母顺序排列。看单词的字母表是不是候选字母表的子集,如果是子集,者加入候选单词表。

继续阅读“用程序解决 Draw Something”

Windows 8 Consumer Preview 发布会下载

微软昨天发布了 Windows 8 Consumer Preview。

今天除了忙着下载 ISO 文件外,另外就是等待发布会的完整视频。

看了许多 Apple 的发布会,看看微软也是别有一番风味。

下载页面:http://www.microsoft.com/presspass/presskits/windows/videogallery2.aspx

直接下载地址:http://cdn-smooth.ms-studiosmedia.com/news/HTML5/FINAL_PRESENTATION_022912.mp4

JSMinNpp 下载统计的一些有趣数字

从 2010 年 9 月 10 日开始(原来研究生一入学就开始了,我都不记得了),至目前,前十名是:

  • 美国
  • 德国
  • 中国
  • 俄罗斯
  • UK
  • 法国
  • 印度
  • 巴西
  • 加拿大
  • 意大利

只有一次下载的是:

  • 斯威士兰
  • 格陵兰
  • 法属圭亚那
  • 马拉维
  • 维京群岛(邓肯老家)
  • 马里
  • 安哥拉
  • 莫桑比克
  • 尼日尔
  • 法罗群岛
  • 法属波利尼西亚
  • 根西岛
  • 百慕大
  • 曼岛(Isle of Man,男人之岛:))
  • 开曼群岛
  • 安圭拉

台湾地区 1,150 次,香港 754 次,澳门 12 次。

阿富汗 27 次,伊拉克 21 次,伊朗 294 次,巴勒斯坦 41 次。