niyue

Archive for the ‘other’ Category

调试宣言

In other on 2月 3, 2023 at 8:20 上午

Julia Evans是我很喜欢的一个漫画家。他画的漫画很多是关于编程的,所以比较感同身受。他的漫画技巧其实一点也不高超,画的都是我也能画出来的那种火柴棍小人。他的编程技能我估计也不是很高超,毕竟不是职业程序员。不过他是少数能把编程里面的一些问题和体验用漫画很好表达出来的一位创作家,按现在的说法可以算是复合型人才。

你可以在https://wizardzines.com找到他的很多作品,比如《Linux容器是如何工作的》这种。他的所有作品中,我觉得最感同身受同时也看了不止一次的漫画是一副叫做debugging manifesto的作品。甚至在工作中遇到困难时,看看这幅作品我觉得都有机会能够想出一些新的解决思路,因此,我自己动手把这幅作品画了一个中文改(抄)造(袭)版放在这里。

中兴F420

In lifeother on 8月 8, 2012 at 4:00 下午

今天上海刮台风,躲在家里算在家工作,结果一不小心又岔开思路去折腾了一上午的路由器。

之前好久家里终于改了电信的光纤,当时给了一个中兴的A10 F420光猫路由和一个TP-LINK的TL-WR700N无线迷你路由器。TP-LINK的无线路由器设计的还挺好看的,像Apple的Mega Safe电源适配器。不过用了一段时间发现电信在设备上做了限制,每次最多只能4个设备连,随便算算家里能连Wi-Fi的设备就有8个(两台台式机、一台Macbook、两个iPhone、两个iPad、还有一个Wii),偶尔公司的电脑还会带回来。虽然几台电脑一般不会一起用,但是iPad和iPhone基本都是一直开着的(没法连接的情况在买了iPad之后尤其明显),所以这年头4台设备的限制感觉就像电信在给自己找麻烦(我打了老半天客服还叫了它的工作人员上门)。后来折腾了一阵后发现限制其实在TP-LINK的那个路由器上,光猫路由并没有这个限制,所以在光猫路由后面又接了一个自己的路由器算解决了问题,不过自从我知道那个光猫也有一个特殊的管理员密码可以做一些特殊的设置之后,心里就觉得很不爽,老觉得电信在想方设法阻挠我自由使用宽带服务。漫长的一个折腾光猫的过程就这么开始了。

1) 看到网上有人说F420是有开telnet的,自己试着连了一下,发现网上说的用户名密码不对,自己随便乱试了一个root/root居然还真连上了。

2) 连上之后看到了熟悉的命令行界面,我觉得大概没多久就能搞定了。结果发现F420上面的系统是BusyBox,1.01版的,经过定制之后,只有很少的命令能够使用,连vi和mv之类的命令都没有。其实我看了下,电信发的光猫里面的这个BusyBox的版本,连个正经能用的编辑器都没有,我只能在命令行里面cat来cat去的,简单的文件要改还能echo一下,稍复杂点的看也不好看也基本没法改。find和xargs也没有,导致grep也没太大用,最后只能cd+ls+cat到处瞎逛。

3) 后来有次发现系统里面居然还带了一个vsftpd,可以启动ftp的服务。不过里面带的vsftpd配置和其他Linux系统里面的不太一样,启动之后一直无法登陆进去。看了一坨的各个Linux上vsftpd的配置文档和其他一些人的配置,都没搞懂到底怎么让这个vsftpd能够正常访问。

4) 以上3步断断续续就折腾了两个多月时间(当然只是有时候心血来潮的时候会去折腾一下)。今天上午折腾的时候发现加一个莫名的-s的参数启动vsftpd就可以了,其他所有配置都没法生效。

5) 登陆进去高兴多没多久发现Cyberduck没法从FTP下载,但是居然可以上传,也不知道到底是什么权限问题。BusyBox里面连chmod也没有,真是有点无法下手。又捣腾了一阵换了一个FileZilla来连FTP,FileZilla里面的文件”Download”还是失败,但是“View/Edit”居然可以用,我对FTP到底咋工作的真是完全不了解…立刻把FileZilla的默认编辑器换成Sublime Text,至此终于能用上个称手的编辑器来查看和编辑文件了。

6) 看了一大堆的配置文件,确实发现/etc下面有个db_default_Jiangsu_cfg.xml里面有telecomadmin和它的密码,不过db_default_Shanghai_cfg.xml里面却没有。网上确实有一堆的说法,不过估计电信发放的路由器型号不太一样,而且相同型号里面的软件版本又不一样,大多说法看起来都没用。目录树下面有一个/userconfig/cfg/db_user_cfg.xml看起来应该是存储这些设置的地方,不过这个文件其实不是xml文件,而是一个加密处理过的二进制文件。之前的一些方法包括直接查看这个文件、或者对文件内容用base64解码都没有用了。在我家的这个F420里面,这个文件是一个文本文件,但是里面的内容都是16进制数,相比同一个目录下没有经过处理的db_default_cfg.xml,大概只有1/3的体积。折腾了一阵也没折腾出来,后来放弃了这条路。

7) 之后发现网上的另外一个方法能够奏效。修改/home/httpd/login.gch这个文件就可以了,是光猫路由的管理界面的代码,应该是个cgi的脚本啥的。应该是电信内部有人搞出来的吧,调用了一些很神奇的API之后直接可以查找到telecomadmin这个用户的密码。中国电信据说是会动态修改这个密码的,不过我也没太深究它到底是直接从本地加密的那个文件中查找的还是远程从电信的数据库里面查找出来的。

8) 用这个用户名密码登陆进去发现F420只是一个有线的路由器,没有无线功能,所以要想用Wi-Fi的话后面总是要接一个无线路由器/AP的。和别人帖出来的F460不一样,管理界面里面也没有关于最大用户连接数的限制,根本没有WLAN的管理(其实要说有的话应该就是4,因为只有4个有线的接口)。还有些DDNS什么之类的应用,感觉还有些用,但管理配置界面实在太差,根本不知道要填的到底是什么东西。到这里折腾基本完毕,4-8步骤又花费掉了近一个上午的时间。

其实这次最后没折腾出来什么结果(本来希望能够开启F420的无线功能然后不用另外一个路由器的,结果发现根本没这功能),但还是简单小结一下方法,指不定以后换个新的光猫还能用上:

1) Log into your modem (router), a BusyBox

telnet 192.168.1.1 (your-router-ip), root/root

2) Start FTP in BusyBox

/bin/vsftpd -s &

3) Connect to FTP using FileZilla, root/root (or anonymously)

4) Back up /home/httpd/login.gch

cp /home/httpd/login.gch /home/httpd/login.gch.bak

5) Navigate to “/home/httpd/login.gch” with FileZilla, “View/Edit” that file like the patch below, and then upload the saved edition back to your router.

--- /home/httpd/login.gch 2012-07-03 14:05:16.000000000 +0800

+++ login.gch 2012-07-03 14:03:37.000000000 +0800
@@ -152,6 +152,17 @@
set_language("langcn.conf");
langclass = "login_title_centeren";
}
+var CK_HANDLE = create_paralist();
+var login_name = "telecomadmin";
+set_para(CK_HANDLE, "Username", login_name);
+qeury_list_bycond("OBJ_USERINFO_ID", "IGD", CK_HANDLE);
+destroy_paralist(CK_HANDLE);
+CK_HANDLE = create_paralist();
+var CK_IDENTITY = query_identity(0);
+get_inst(CK_HANDLE, "OBJ_USERINFO_ID", CK_IDENTITY);
+var now_pwd = get_para(CK_HANDLE, "Password");
+now_pwd = delMoreSlash(now_pwd);
+destroy_paralist(CK_HANDLE);
%>
<head>
<META HTTP-EQUIV="pragma" CONTENT="no-cache">
@@ -239,4 +250,5 @@
</script>
</head>
<body onload="onFocus();">
+<div><%=now_pwd;%></div>
<div id="container">
6) Login to your router, http://192.168.1.1, the username is ‘telecomadmin’, and password should be displayed in the upper left corner of login page.
这里是我觉得最有用的两篇文章,讲的虽然都是F460,但是在我这里都适用:

Move to wordpress.com

In lifeother on 10月 7, 2011 at 10:33 上午

Blog又一次搬家了。写其实没写什么内容,但是来回捣腾倒是花了不少功夫。

折腾这种事情其实还挺痛苦的,每次都得纠结好一阵才能下定决心去做这一大堆的挑选服务、备份、付款、迁移导入数据什么之类的工作。不过这次实在也没什么办法了只好换个地方。2007年的时候在九州未来租了一个虚拟主机,当时就选了半天,本来想考虑国外的一些服务提供商,不过一则国外的价钱贵,二则怕服务提供商被GFW封掉。最后选定用九州未来主要就是因为它便宜。¥12.95一个月,虽然服务内容和质量都不甚高,但是对于我这种没有什么要求的客户也算可以了。但就以我这种不太常用的频率,使用期间也碰到了两次长时间的下线。一次听说是因为数据中心有服务器内容有问题,所以被party给查封了。下线了好多天时间,最后终于又上线,但是连个补偿措施也没有。后来又有一次下线,问了客服也只能叫我等,等到最后虽然解决了但是也没有一个说法。不过因为实在懒得折腾,所以还一直忍着勉强用用。原来付费的时候,我一般都是半年一付,主要是因为考虑到这种产品的价钱应该是越来越便宜的。每单位网络、存储、计算资源的价格都是在随时间下降的,所以并不想付太长期的费用。像Amazon的EC2的价格其实一直是在往下走的(比如http://aws.amazon.com/about-aws/whats-new/2009/10/27/announcing-lower-amazon-ec2-instance-pricing)。但是九州未来在2011年的调价彻底让我没想法了。原来只需要¥12.95每月,现在涨价到¥24.95每月。再加上人民币对美元的升值,这个价钱在国外也可以买到了。不知道是因为国内通货膨胀的原因还是它们的运营的成本确实没法控制了。但是在价钱这一最主要的优势没有了之后我只能另选其他的服务提供商。

最后决定直接用wordpress.com提供的服务,虽然它定制程度很低,没有办法host我除了blog之外的那些资源,甚至还可能经常被GFW封掉,但是管理起来起码简单,服务稳定并且不用太多考虑升级或者备份的问题,并且能很容易的把我原来的wordpress blog给迁移过来。然后就是上面的一串导出导入的过程,最后购买了wordpress.com的自定义的域名映射。Phew~

RSS Feed在主页上也没有办法定制,不过我更新了feedburner和feedsky,如果订阅的话可以用下面的地址:
Feedburner: http://feeds.feedburner.com/niyue
Feedsky: http://feed.feedsky.com/niyue

New Year, Fresh Look

In other on 1月 4, 2011 at 12:09 上午

好久没有写新的东西了,也好久没有整理blog了,前一段发现已经很多链接都失效了,另外原来用的一些服务,尤其是被Yahoo收购的那些,像MyBlogLog和del.icio.us,都马上要死翘翘了…唯一不变的就是持续给空间和域名付费…

新的一年刚开始,终于特地抽出时间来整理整理,把wordpress升级到了3.0.4,同时顺便更换了一个新的主题。原来使用的主题是我自己在nodethirtythreeTerraFirma这个主题的基础上面改的,当时看着还挺顺眼。过了几年之后,也不知道是审美观发生了变化还是由于一次次修改之后的走样,原来的主题实在没法能够再改成看的让我舒服了。找来找去找了一个主题叫Doc,很简单的那种,希望再过几年来看看还能够满意。

Homebrew my Wii

In other on 12月 14, 2009 at 11:20 下午

家里的Wii闲置有好长一段时间了,一个方面是似乎近期一致没有空玩,另一方面则是害怕Wii变砖所以一直没有去尝试新游戏。不过最近听说出了新超级马里奥兄弟,还可以双打(一直想找Wii上好玩的双打游戏来着,之前双打还比较好玩的感觉就一个马里奥银河),终于忍不住决定去下载来玩玩了。
不过要玩这款游戏(的D版)还是颇为麻烦的,很多人报告说由于各种问题没法玩。看了一些文章之后,发现要想顺利玩上这游戏,必须得用所谓的软破解Wii。于是立即开始想办法研究到底怎么来做这个事情,结果网上看了一个小时也没看懂到底怎么样是一个最新的、最可靠的软破解的方法。很多方法里面列举的术语、工具也没出处,作用是什么也写的不清楚,看了也是一头雾水。但是又不甘心就这样放弃,于是花了整整一个下午来研究相关的名词解释,终于有点头绪,现把一些我看到的重要的链接以及概念归纳一下。

  1. 软破解。所谓软破解就是homebrew,就是利用Wii的一些漏洞来执行不被任天堂所官方支持的应用程序的方法。常见到的Twilight Hack就是一种漏洞的利用,但是太麻烦,现在一般都不用。
    1. http://wiibrew.org
  2. dol和wad文件。这两种格式的文件都是Wii的程序文件,但是格式有所不同。
    1. http://wiibrew.org/wiki/DOL
    2. http://wiibrew.org/wiki/WAD
  3. Wii上面有很多的channel,主菜单一共有四个屏幕,每个屏幕里面可以放4×3=12个channel。每个channel就是一个应用程序。Wii的系统里面自带了几个channel,最常用的就是Disc Channel,用来读游戏盘的那个。还有Mii Channel,用来画头像的那个。等等。
  4. Homebrew channel。其实就是一个dol格式的程序,安装后会显示成一个channel。通过这个channel,又可以安装和加载其他的应用程序。所以它算是一个homebrew loader。
    1. http://wiibrew.org/wiki/List_of_homebrew_loaders
  5. USB Loader。最初的USB Loader是由一个叫waninkoko的人写的,他是个西班牙人,有个blog,但是由于是西班牙文的,所以Google似乎感觉根本搜不到(一般结果显示的都是英文结果)。在这个之后,有无数人根据这一USB Loader写了自己的衍生产品,比如USB Loader GX,Configurable USB Loader, USB Loader by Brisma等等。大多数作品都没有什么官方网站,也很少文档,看起来都很猥琐。我最后用的是Configurable USB Loader,原因就是它的文档写的还比较好,有一个有顺序的步骤能勉强看一看。
    1. http://www.teknoconsolas.es/blogs/waninkoko
    2. USB Loader列表,http://gbatemp.net/index.php?s=f6ac5855f839b5706ad8d6a40327a3be&showtopic=154465&pid=2446584&st=90&#entry2446584
    3. gwht.wikidot.com/usb-loader,Configurable USB Loader的文档,需翻墙才能访问
  6. Wii System Menu,我开始以为这个就是固化在Wii里的操作系统,说的什么3.1J,4.0什么的就算是操作系统的版本。结果最后发现不能算是这样。这个玩意似乎只是个图形界面,真正的操作系统叫IOS,有另外的一个版本号。
    1. http://wiibrew.org/wiki/System_Menu
    2. http://wiibrew.org/wiki/IOS
  7. WBFS,专门用于Wii的游戏备份的文件系统。WBFS manager是用来管理这个文件系统的图形界面,可以把Wii的游戏的ISO镜像直接安装到WBFS文件系统的USB磁盘中。
    1. wbfsmanager.codeplex.com
    2. wbfs.codeplex.com

我最后的homebrew读游戏的步骤:

  1. 安装Homebrew channel。http://wiibrew.org/wiki/Homebrew_setup
  2. 安装Configurable USB Loader。http://gwht.wikidot.com/usb-loader
  3. 在Windows机器上安装WBFS Manager,把USB盘格式化为WBFS,然后把下载的游戏镜像安装到USB盘中。
  4. 进入Homebrew channel,然后运行Configurable USB Loader,然后读取USB盘中的游戏。

Wii

基督山伯爵

In other on 11月 4, 2009 at 8:41 下午

刚读了基督山伯爵,很好看,一条主线当中穿插了很多小故事,悬念很足的,是我最喜欢的类型的书。

书是在iPhone上用Stanza看的,最后的好多章节都是在参加无聊的ISO培训期间看的。一共就十几个人参加的一个培训,早已预计到是一个很浪费生命的一次活动,本来想拿出笔记本电脑干活的,不过参加的人不多,大家都假装很认真在听的样子,我也就没好意思厚起脸皮。退而求其次的,偷偷的用iPhone看了一整天的书把后面的章节都看掉了。无聊期间,还把书中的人物关系画了一个图,用的图纸是ISO培训教材的大片空白处。书里的人物关系还是挺复杂的,外国人的人名看起来也不是很有感觉(尤其是翻译成中文之后的人名),画起图可以整理整理书中的头绪,越复杂觉得越有意思,把一页纸都给画满了。当时就觉得这个图是满有意思的一个图,想回去整理后电子化一下。

回来之后,又看了百度百科和中文的wikipedia温习了一下,上面写的还不少,都剧透光了,还好看书之前没看这些东西。然后就想到我的关系图了,我的kill time project可不能白费了心血。下载了freemind,准备用它来画这个图。开始看英文的wikipedia准备把所有的人名转换成为英文名然后放到我的图里面(因为中文名翻译出来实在差别太多,每个人的名字都有不同的叫法。像主人公,我看的版本叫做唐太斯,不过我自己觉得翻成丹迪斯好像更音近些)。wikipedia上面看着看着,突然发现原来已经有人整理过这个图了,而且写的好全面,瞬时间做这个事情的想法就化为乌有了。没有比较还好,一旦有了可参照的比较物而你又没有办法做的比它好时,你就会丧失去做一件事情的目标、心情以及动力。

神奇的CAPTCHA

In other on 5月 1, 2009 at 9:27 上午

原来看到过一些变态的CAPTCHA系统,比如这里。不过自己碰到过的并没有,最多也就是碰到过Google的CAPTCHA类似的识别一个图片里面的字母的CAPTCHA系统(不过这些系统好像都被各种方法攻破了)。

不过前段时间为了找些资料,注册了一个公务员考试的论坛,亲身体会到了一个这样BT的CAPTCHA。

神奇CAPTCHA

这个CAPTCHA的变态之处就在于使用的题目是公务员考试的题目,个人觉得这类考试很多题目都没有什么正确答案可言,这里的题目也不例外。我第一次答的时候就想了半天,然后填答案时没认真审题,答案还填错了。这个系统更傻X的地方在于这些题目人虽然没有办法一下想明白,但是每次注册这个论坛碰到的CAPTCHA的问题居然是一样的,也不知道他搞一个这个系统的作用是干嘛。

iPhone的冲动

In other on 4月 5, 2009 at 10:38 上午

昨天去红星美凯龙买涂料,出来的时候,下着雨,门口碰到一个人,拿着个iPhone,在那晃来晃去的。我经过他身边的时候,看了一眼。他立刻就问我要不要来着,一听口音就知道是新疆人。最近刚好女朋友想买个“二号手机”,霎时间心动了一下。开价1200,随便还了一下变成700了。他直接说是从徐家汇偷来的,充电器什么的都没有,仔细看了下还有点划痕,但看起来功能都很正常。最后还是忍住了没买,一是不想买偷来的东西,一是感觉不完美。扭头去坐车去了,离开的时候他说500块就卖了。

后来回想了一下,发现其实那时是想给自己买一个iPhone的冲动,而不是想给女朋友买个二号手机来着。期待6月的WWDC了…

变形金刚变形的数学基础

In ideaother on 8月 16, 2008 at 11:26 上午

前段时间看了一个TED上面的演讲,演讲人叫Robert J. Lang,是一位NASA的工程师。他有一个很有趣的研究,是关于将数学应用于日本的一种叫做Origami的折纸艺术(中国是不是也有,不知道谁早?)。通过应用高超的数学技巧,能够使用纸张折叠出异常复杂、逼真的三维的物体。在他在TED上的演讲中,就有不少例子,其中还有一个三菱的汽车广告,广告中的所有场景和物体(当然,除了三菱的汽车)都是使用这种方式构造出来的。他还有一个关于Origami的网站(似乎国内被GFW掉了,需要代理),里面也有很多例子。

同样的一张纸,通过不同的数学计算能够折叠出不同的形状,这不就像变形金刚的变形吗?可以想象一下,变形金刚的最初的形状其实是一大个二维平面状物体,通过应用类似的数学技巧,只要每次通过计算机计算折叠的方式,就可以转化成为三维的一个物体。也许不能像汽车飞机一样行动,但是在形状上模仿肯定是没有什么太大问题的,而且一个变形金刚应该能够通过不同的计算,变形成为多种不同的形状。如果做一个权衡,只要求变成一种形状,但是在特定的地方加一些特定的设备(如汽车的轮子或者飞机的推进器),是很有可能实现真正的变形金刚的变形功能的~更可能实现的,是基于这个做一个简单的变形玩具,肯定会卖疯的:-)

expensr.com is dead

In other on 3月 18, 2008 at 8:30 下午

expensr.com是一个在线的个人记账软件,我从2007年下半年开始用它,感觉很符合我的需要 – 简单易用,能够有基本的统计报表功能。我在2007年7月底的时候还给它们发了个邮件,提了点关于它的报表显示的建议。在我发邮件的第二天expensr就给了我答复,说它们正在做帐户之间转帐这一功能,这个如果做好的话报表这方面的显示就ok了。我当时对它的响应速度很满意。

但是到了2008年春节期间,expensr进行了一些更新,但是引入了一个bug – 中文输入的所有的字符显示都不正常了,这直接导致了我没有办法继续使用这一系统,我的所有的帐户名称和大多数的开支名称都是使用中文填写的。这次,我再次给它们发了邮件报告了这一bug,但是过了很久都没有反馈。我在这之后的一段时间又发了两封邮件报告这一bug,但是都没有得到答复。现在,2008年3月18日,距离我发现这一bug已经45天了,系统没有任何的更新来修复这一严重的bug,对我的三封邮件也没有任何的响应。我看了expensr的官方blog,从2007年12月11日之后就没有任何更新了,虽然从网上搜索的结果看来,expensr.com很有前途,但是就目前我的使用和观察,expensr.com命不久矣
update:
果然一个月之后expensr.com宣布被收购,expensr.com的用户都会转到moneyStrands,希望转移之后的应用能够比较好。