Posts

2011

我在北邮的第二年

这么快...又到了大一新生回迁本部的时候了,这也意味着我的大学已经过去了一半。还记得去年的这个时候,而我带着一点兴奋和不舍离开了宏福,转眼间一年就这么过去了。 这是我在北邮的第二年。 跟大一相比,大二才算是真正开始变得忙碌起来,课程很多,作业很多,实验很多...我试着像大一时一样努力去学好每一门课,不参加任何社团活动,不谈恋爱,每天专心自习,做作业,所有的时间都献给了书本。但是到最后还是感到严重力不从心。 就这样忙忙碌碌过了一个学期,我开始逐渐意识到,我努力去学好的每一门课,实际上并不喜欢,我去学这些课程单纯只是因为这是安排给我的。 如果真的是这样的话,我这样努力又是何必呢?自己的时间是有限的,我完全可以把这些有限的时间用在更有意义的事情上,这已经不是高中了,没有人在逼自己必须应该怎样做。 所以,我想,我应该试着去做自己喜欢的事情,而不是继续这样浪费生命。 于是,从第二个学期开始,我就几乎没有怎么在课堂上认真听过课了,本来就不喜欢,何必强迫自己去听。但话虽是这么说,刚开始还是很少逃课的,也许会担心老师的点名吧,每天都老老实实来到教室,要么上网,要么读自己喜欢的书,要么...干脆睡觉。 再到后来,就越来越懒得去上课了,心想反正是听不懂了,在教室里待着也是一种煎熬,不如不去。渐渐的,逃课成了理所当然的事情。虽然逃课,但是逃得心安理得,因为我可以用这些时间去做一些我觉得更有意义的事情。 我想这一年中最大的收获应该是接触到了Linux吧,而且在twitter上认识了那么多有趣的朋友们,从此一发不可收拾,走上了折腾Linux的一条不归路:-D 逐渐地,我开始意识到,相比于电子或者通信,我更喜欢的是计算机。此时的我,再也没了大一刚入学时候因为自己可以读EE而兴奋不已的劲头。我曾经后悔过,后悔当初自己为何选择的是EE而不是CS,不然现在也不会这样纠结。但是,有谁能够在高中的时候知道自己真正适合什么样的专业呢?只有试过了之后才知道自己最适合的是什么。 大二结束之后的分专业,对于我来说已经没有什么意义,反正已经不可能再继续读EE了,不论哪个专业都不是我想读的。我现在的打算,仅仅是能刚好完成自己的学业,然后尽可能利用剩下的时间去做自己觉得最有趣也最有用的事情。 也许做出这样的决定需要很大的勇气,但是在父亲的支持下,我义无反顾。

#北邮#学习#生活#大二

Google App Engine的流量用完之后

搭建在Google App Engine上的wallproxy一直是我最喜欢的代理工具,速度足够快而且性能稳定,虽然GAE后来被GFWed但是仍然可以通过google.cn代理使用wallproxy。 但是今天在上网时,突然发现某些网页打不开了,总是提示“503: Service Unavailable”。 刚开始以为是无法连接到GAE的服务器,于是在/etc/hosts里将其地址指定到google的IP上,发现还是会出现同样的错误。 直接访问wallproxy应用的地址,提示“Over Quota”,这才意识到原来是GAE的配额用完了。 登录后台一看,GAE每天的流量配额只有1G,看来是我昨天看Youtube视频消耗得太厉害了,以后得注意点,不过,多注册几个应用应该更靠谱,嗯。

#GAE#WallProxy

黄山纪略 by Roy

7月6日,至汤口,司机聒噪,夜遇蛛螂。 7月7日,登黄山,丹霞晒书,天海探石,光明顶观日。宿光明顶,屋漏床湿。 7月8日,观日出,大雾不得见。怒登莲花峰,穷极天高,望云海茫茫,下山不易。雾探松石,别有意趣。见迎客松而返。 午至黟县,虫蝇盛宴,终得休整。 7月9日,携徽女,入西递宏村。小池石坊,徽派宅第,举目处处楹联,汲汲功名,声声劝学。下有清流潺潺,绕屋不散。 7月10日,归。

#黄山

Google Music初体验

在前一段时间的Google I/O上,Google正式推出了基于云储存的Google Music服务,但是一直没有开放注册,必须通过申请的方式获得Google Music邀请,然后才能使用这一服务。 虽然第一时间提交了申请,但是直到昨天晚上才收到Google的邀请邮件。 既然没有Android设备,只好在PC上使用Google Music了,第一次使用还会提示下载一个叫”Music Manager”的客户端,比较让人难以接受的是这个客户端目前只支持PC/Mac,再一次伤了广大Linuxer的心~ UPDATE:Google Music已经推出Linux客户端 其实这个客户端的作用无非是将本地的音乐文件上传到Google Music的云储存中,让人非常惊讶的是,在教育网的环境下上传速度还能达到一个非常理想的水平,不知道公网的速度如何呢?应该不会比教育网慢吧。 现在使用Google Music的时候还可以将Google提供的一些免费音乐添加到自己的音乐库中,歌曲很丰富,音质也非常不错,只是不知道这样的免费还能维持续多久。 将音乐添加到云端之后就可以在网页上直接打开收听了,速度非常快,几乎没有卡顿的现象,赞一个~可以在上方的搜索栏里直接搜索歌曲,还可以按照songs/artists/albums/genres进行分类。美中不足的是,由于编码问题(又是该死的编码问题),部分中文歌曲上传到云端后在播放列表里显示会乱码,不过鉴于Google Music目前还是在beta状态,而且也没有原生支持中文,也情有可原了。 虽然一直觉得把音乐上传到云端然后在线收听是一件很蛋疼的事情,但是这样做的好处还是显而易见的,比如我可以把Windows上的音乐全部上传到Google Music,然后在Linux上就可以直接听而不用挂载Windows磁盘了,甚至还可以在另一台计算机上听自己的音乐。而且,再也不用担心因为磁盘原因导致自己收藏的音乐丢失了~嗯,很棒的东西。 越来越喜欢云了。

#Google#Google Music#云

IPv6 Day: 可通过IPv6直接访问Youtube

今天在U盘上测试ChromeOS时,意外发现Youtube可以直接访问了。 之前在Arch Linux上一直通过修改hosts方式添加ipv6地址来访问Youtube,而测试用的ChromeOS并没有修改hosts文件也能访问Youtube,这是为什么呢? 联想到今天是ipv6 Day,不难推断出今天Youtube应该是让ipv6用户默认解析出ipv6地址,从而我们能够绕过伟大的墙来访问Youtube。 用nslookup命令查看了一下www.youtube.com解析出来的ip地址,发现果然是ipv6地址,但是youtube.com解析出来的仍是ipv4地址。 遗憾的是,当我发布这篇文章时,youtube已经恢复默认解析到ipv4地址了,看来这只是为了ipv6 Day做的一次试验。 可能GFW for ipv6也要快了吧!

#Youtube#IPv6

Arch Linux安装笔记

自从用上Arch Linux之后就一直打算写这篇文章,但是由于种种原因一直迟迟没有动手,现在是时候写点东西记录一下了。 之前一直使用的系统是Ubuntu 10.04,用着感觉也挺好的。但也许是新鲜感过去了吧,用着用着对Ubuntu感到有点儿厌倦,而且看到Ubuntu 11.04即将使用的是unity桌面,有我最讨厌的dock和全局菜单,于是更加不想升级Ubuntu。 这时候刚好赶上GNOME 3快要发布,于是装了个Fedora 15 alpha尝尝鲜,虽然alpha版的系统BUG多得不得了,一分钟能崩溃掉好几个组件, 但还是对GNOME 3很有好感。后来有幸又去参加了北京的GNOME 3 Lauch Party,更加坚定了用GNOME 3的决心。 当时一边用着Fedora 15的测试版,一边等着五月份Fedora 15的正式发布,还真的以为从此就要一直用Fedora下去呢,结果——看到很多人在玩Arch Linux,于是抱着试试看的心态安装了一下,然后一发不可收拾,成了Arch的坚定拥护者,呵呵。 废话少说,说一下我安装Arch的过程吧。 准备安装镜像 Arch Linux跟其他大部分的主流发行版最大的不同之处在于它是滚动更新的,也就是说没有具体的版本号,我安装的时候,选择的是最新发布的安装镜像archlinux-2010.05-core-x86_64.iso,其实也有近一年了,不过这都没有关系,因为系统安装完成之后还要进行软件更新的。 安装镜像下载完成之后,刻盘,重启,安装——之所以没有采用U盘安装是因为试了好多次都没法启动...不知道为嘛。 安装 安装的过程基本可以参考Arch Wiki的Beginners Guide Arch的一个很大的优势是有相对比较完善的中英文wiki,不过中文wiki的资料有时候比较旧,如果有不太确定的地方可以参考一下英文版的wiki。 正因如此,参考中文wiki安装时还是绕了一些弯路的。 …

#linux#ArchLinux

使DeadBeef播放器支持gbk编码

平时比较爱收集无损音乐,其实只是一种嗜好吧,就我电脑那破声卡,无损听起来和320kbps的mp3没啥区别的。 好在有校内的PT站,各种无损音乐下载起来非常方便也非常迅速。只是,不管是ape还是flac的无损音频文件,往往一张专辑就是一个整轨的文件,播放的时候需要另外的cue文件进行分轨。 以前用KDE桌面时我喜欢用Amarok播放器,现在用GNOME桌面比较喜欢用DeadBeef播放器,都是支持cue文件分轨的。跟Windows上foobar2000之类的播放器通过cue文件加载ape/flac文件的方式不同,Amarok和DeadBeef的做法是先加载ape/flac文件,然后再加载同目录下的cue文件。 不管怎样,这对于中文用户来说就产生了一个不可回避的问题:乱码。 根本原因在于,Linux上采用的中文编码大多数是UTF-8,而Windows上采用的中文编码是gbk,这就导致Windows上生成的文本文件(cue文件也是文本文件)如果采用了默认的gbk编码,在Linux上使用时就会产生乱码。 如果下载的cue文件采用了gbk编码,在DeadBeef播放器里加载时就会乱码。 好在DeadBeef是一个完全开源的软件,这也就意味着其源代码是完全可以获得并且修改的。如果修改源码使其支持gbk编码,岂不是就可以解决乱码的问题了? 答案是肯定的。 在Google上搜索了一下,发现Ubuntu中文论坛上已经有人给出过决方案(看来我不是最早想到的...唔) 但是,DeadBeef版本更新得很快...原来的代码已经没法直接使用了,还是得自己动手修改。 首先,从DeadBeef项目主页下载源码,最新版本是0.5.1 。 解压源码之后,找到junklib.c文件,和Ubuntu中文论坛上提供的做比较,发现需要修改一下几处: 第687行, enc = "cp1251";修改为enc = "gbk"; 第769行,enc = "cp1251"; 修改为enc = "gbk"; 第3388行,return "cp1251";修改为return "gbk"; 第3390行,return "cp1252";修改为return …

#linux#DeadBeef

谷歌音乐,虾米网,豆瓣电台在线音乐音质比较

谷歌音乐,虾米网,豆瓣电台是我平时在线听歌常去的几个网站,准确来说这几个网站都属于不同的类型,谷歌音乐是购买唱片公司的正版音乐然后提供给用户免费试 听和下载,虾米网是收集用户上传的音乐然后提供给用户免费试听和付费下载,豆瓣电台相对功能就比较单一了,主要是和豆瓣社区相结合的一个应用吧,可以免费 试听但是不可下载。 而这几个网站的一个共同特点就是,都提供免费的在线音乐试听服务。 抛开颇有争议的版权问题(比如虾米付费下载的合法性),我只想比较一下,同样是在线音乐试听,各个网站提供试听音乐的音质有何不同。 一般来说,由于普通用户的网络带宽相对有限,在线音乐试听不可能提供低压缩比的高品质音乐,那么不妨就将在线音乐的压缩比作为衡量在线音乐音质的指标,压缩比越低,说明音质越好,反之越差。 那么,如何获得这个参数呢?我想到的办法是将在线音乐保存到本地,然后再对其进行检测。 这个实验需要用到一个很强大的开源抓包工具wireshark,主流Linux发行版的软件仓库中应该都会提供,Windows上也可以在http://www.wireshark.org/download.html免费获取得到。 打开wireshark,开启抓包,然后将过滤器设置为http.request.method==GET,因为我只需要抓取从服务器GET的数据包,这样才能从中分析得到在线收听的歌曲URI。 准备好了实验工具,接下来就要开始我们的实验了~~ 先从谷歌音乐开始,谷歌音乐是提供免费的音乐下载的,下载的音乐比特率一般都在192kbps以上,少量可以达到320kbps,而320kbps差不多是mp3音乐的最佳音质了,应该说整体素质是很不错的。 在谷歌音乐上随便找一首歌,比如这首《因为爱情》 点击试听按钮,弹出播放窗口,然后开始播放。 这时,注意观察wireshark的记录,从中不难发现有一条请求是以mp3结尾的,没错,就是这个了! Request URI是/201105262250/A221242545929AA5C5F7FA9394797DDA/streaming1/Special_344867/M0344867001.mp3,Host是 audio9.top100.cn (很好理解,谷歌音乐是由巨鲸音乐top100.cn提供支持的)合起来歌曲的链接就是http://audio9.top100.cn/201105262250/A221242545929AA5C5F7FA9394797DDA/streaming1/Special_344867/M0344867001.mp3 将这个链接粘贴到地址栏中就可以直接将试听的歌曲下载下来了。 也许有人会有疑问,谷歌音乐不是一直提供歌曲下载么,何必多此一举... 额,我只想说,我的目的仅仅是测试在线试听音乐的音质,而在线试听的音质和下载到本地的音质是不一样的。 歌曲下载完成后,在播放器里打开,查看mp3文件的比特率,比特率越高,说明歌曲压缩比越低,音质越好,反之越差。 如图,可知谷歌音乐提供的在线试听mp3比特率是128kbps,而且有完整的ID3信息。 用同样的方法,我分别从谷歌音乐,虾米网,豆瓣电台各下载了两首歌曲,检测结果如下表所示: 谷歌音乐的检测结果在我意料之中,在线试听的128kbps虽然比下载的192~320kbps比特率低了一些,但就在线试听来说还是很不错的,而且歌词,专辑封面一应俱全。 让我比较意外的是虾米网,因为虾米网一直号称是高品质音乐分享社区,对用户上传的音乐质量要求也比较高,因此我一直以为虾米网在线试听的音质还是不错的,但是从检测出来的结果可以看出,虽然虾米网提供付费下载的音乐品质还是不错的,但是在线试听确实次了些。 豆瓣电台也许跟前两者没有太大的可比性吧,毕竟定位不尽相同。56~64kbps的比特率在保证了播放的流畅度的同时大大牺牲了音质,如果是为了听歌而听歌的话,我想我是不会在豆瓣电台上听的了。

#谷歌音乐#虾米网#豆瓣#在线音乐

中文版Google也开始启用全新的导航栏了

今天中午登录中文版的Google Docs发现刚开始显示的还是旧式的导航栏,过了一会儿就自动更新为新版导航栏了 下午Google中文版的全系列产品都更新到了全新的导航栏,表示还需要一段时间去适应... p.s.仅限于Google中文国际版,谷歌(www.google.com.hk)目前尚未更新

#Google

音乐播放器Signals and Systems 2.0

一年前的时候曾经自己试着写过一个音乐播放器 当时只是想着试着写个东西自己玩玩,写完了之后就一直扔在那儿没管了。直到前一段时间做计算机实习的作业,把这个小玩意儿又给翻了出来,再次去读代码的时候觉得简陋到连自己都看不下去了。 于是萌生了把程序更新一下的想法,但真正开始着手做的时候发现原来的代码已经没法改了,只好全部推翻重来,于是一个崭新的小玩意儿就诞生了,Signals and Systems 2.0//名字是不是很XX… 其实自己也不会什么新的东西,还是用Windows SDK,在Microsoft Visual Studio 2010上进行开发,编译出来的可执行程序很奇葩,404KB…囧 具体的特性有: 修复了原来播放歌曲时的多首歌有时会同时播放的BUG 修复了原来操作播放列表时程序会崩溃的BUG 音量可以连续调节,可以设置为静音 支持播放列表的导入,导出和清空(兼容千千静听的播放列表) 听歌时可以最小化到托盘 支持播放mp3/wav/wma文件 支持将文件拖放加入播放列表 四种播放模式可以选择(顺序播放/循环播放/单曲循环/随机播放) 播放列表最多可以容纳512首歌曲 可以自动搜索并同步显示音乐文件同目录下的同名lrc歌词(支持ANSI/UNICODE/UTF-8) 可以手动搜索lrc歌词并将其保存到本地并且自动加载之 可以自动记忆当前播放列表并在下次程序启动时加载之 可以读取MP3文件的ID3v1信息并将其显示出来 已知BUG:一次性添加文件过多时会导致缓冲区溢出而崩溃,不知道该怎么解决>_< 这是已经编译好的可执行程序:http://goo.gl/cMu2h 开源是必须的,嗯嗯,源代码在这里:http://goo.gl/860Zj 上几张图片看看吧

#Windows SDK#音乐播放器