Yi's Blog

思绪来得快,去得也快

音悦台MV下载 Python版本

制作过程:

前面写过了一个 GoogleMusic 专辑下载的 Python 版本,这里是下载脚本另一则。

因为前段时间在人人上总能看见音悦台里 MV 的推荐链接,用 Chrome 查看网页加载的文件也可以很容易的找出播放的 MV 的 URL,然后用 wget 轻松下载到本地。既然浏览器能把文件的地址显示出来,用程序也一定可以。

这个过程还是有一点点曲折的:

  • 读 HTML 代码,发现文件的链接是嵌入的 Flash 获取一个 videoId,然后根据 videoId 获取的。
  • 找了一个可以反编译 Flash 文件的软件 SWFDecompiler,反编译了一下 Flash 文件,简单读了一下相关的代码,不是很有头绪,然后决定从 Flash 发起的 HTTP 请求入手。
  • 先用了 Wireshark 尝试抓了一下包,结果发现自己学艺不精,不太会用 Wireshark,找不到链接是怎么来的。
  • 决定找一个相对简单的 HTTP 请求获取的软件,StackOverflow 搜到在 Mac 下有这几个软件可以实现

    我用的是后者,非常好用,简单直接的找到了 URL 所在的 HTTP 请求。

  • Python 脚本发送 HTTP 请求,正则表达式分析出 URL,再从原页面获取 MV 的名字,wget 下载。

代码在这里

Mac 下制作 U 盘启动

很多写入的细节还没有弄清楚,更进一步的内容还需要跟进。

###缘由: 实在是无法忍受没有好用命令行的 Windows,于是就想将 x61 整个硬盘格式化,安装一个 Linux。

经常使用U盘安装系统的朋友知道 Windows 下有一个 UltraISO 的软件,可以直接将 ISO 镜像写入到U盘中启动。我也经常这样使用。

自从使用了Mac的磁盘恢复以后,我就对Mac下的磁盘恢复很有好感,觉得应该也可以直接恢复ISO到U盘。于是就尝试了一下,结果遇到一下问题:

	磁盘工具显示错误:未能验证来源:无效的自变量

###解决方法:

使用命令恢复 ISO 镜像到U盘:

$ diskutil list #显示当前所有得磁盘情况
$ diskutil unmountDisk /dev/disk1 #卸载U盘上的所有磁盘
$ dd if={ISO_IMAGE_HERE_} of=/dev/disk1 bs=1m #拷贝磁盘

上面的命令你看不到复制的过程,你可以通过 pv 命令(默认 Mac 没有这条命令,需要 brew install pv 安装一下) 如

	$ pv -petr ubuntu-11.10-desktop-i386.iso | dd of=/dev/disk2 bs=1m

效果如图:

dd

另外,还有两种图形界面的方法可供参考(未测试):

####2012-2-27 更新: 今天尝试用这个方法将 Windows7 的 ISO 启动失败了,原因未知。

####内容参考来源:

[1] how to “burn” an ISO to USB flash drive?

[2] DD(1) FreeBSD General Commands Manual

ps: dd 用处真大,在为 dropbox 扩容的过程中,也用到了 DD 来创建一个指定大小的文件。

问自己的几个问题

问题的由来

前几日与同学小聚, 听到了一个这样的说法: 女孩子找对象最好不要找一个学计算机出身的男生, 因为计算机这个东西太容易学会了, 随便找一个本科生学几个月就可以做 IT 了。 学计算机的男生在社会的竞争中一点优势都没有, 很容易就被淘汰了, 不如其他自然科学的学习来得扎实。

作为一个学软件的男生, 听到这样一番话胸中难免有一点酸楚。 难道自己这样付出过的日子就这样不受到别人的认可? 难道计算机专业的本科的平均水平就只是一种廉价的劳动力,谁都可以轻易胜任?

我不想反驳什么, 因为我所表达的任何反驳都带着我的立场, 我的情绪, 有很多不客观的地方, 况且我写下这些是为了冷静的自我反省,而不是为了反驳那些持有这样观点的人。

而且不得不承认这样的观点有它正确的一面。

问自己的几个问题

我是谁?

我是一名大四的学生, 在今年的1月参加了研究生入学考试, 考试成绩不明, 在毕业将要来临的日子, 面临着没有书念和没有工作落脚的压力, 默默等待考研的成绩。 尽管听上去有点悲观, 但是却实实在在是现在的情况。

我渴望有一个安静的校园安静地读书思考, 并且也为了这个梦想奋斗了 6 个月。 无论这个结果如何, 我也可以坦然地面对了, 因为我有不停地努力过。

我同样渴望着有一份可以倾注我全部精力的工作, 踏踏实实做一些可以让他人生活得更方便的工作。 所以考研哪怕失利也不会让我对生活有一丝失望, 生活还会继续, 我还可以把喜欢的事情当作自己的事业, 并为之付出和收获。

是否总是说得太多而思考得太少?

说话

面对陌生人, 我也学起大人一脸冷酷, 不理不睬, 大概我也已经成为了歌中的老男孩。

面对熟悉的人, 我更喜欢多说话, 因为我意识到人和人之间只有通过不断的沟通才能和他人有那么一点点的相互的理解。 我总是说得太多, 而且说话时只关注自己的感受, 很少考虑他人听到的感受。

  • 总想着用自以为独到的观点去说服他人, 进而显示自己有多聪明, 有多渊博, 多不可一世。

  • 打心眼里不愿意赞同他人的观点, 哪怕心里也承认别人的观点很正确, 也非要搞出一点特殊, 说出一点不同, 找回一点自己现在想想都觉得可怜可笑的平衡。

这是我说得很多的原因, 有点激进, 很不理智。

思考

说到思考, 我也十分惭愧, 我所知道的大部分信息的来源都是别人嚼过的食物。

  • 我无时无刻不在接受着别人的信息,例如用Google搜索别人写的各种教程, 看别人写的读书笔记, 看别人写的影评, 用别人写的各种工具, 在论坛听别人的言论。 人云亦云, 轻松愉快地接受着别人得出的结论, 贪婪地吮吸着“睿智的搜索引擎”给出的搜索结果。 我从这样做的开始就感觉到了一种强烈的自我膨胀, 我仿佛无所不能, 能解答任何人提出的任何问题, 我不需要再从书本学习知识了。 但是一点点地我发现了这只是一种假象, 就在我不停地浏览写满信息的网页时, 我什么都不知道, 我成了信息传播的工具。

  • 很少创造信息。 想法总是很多, 但总是找出这样或者那样的理由拖沓, 没有一个完整的计划和必须的执行力。

无声的反击

完。

新的 Blog 系统 -- Octopress

新的起点

最近 Octopress 很火爆, 就 clone 了一个下来, 在 Github Pages 上重新搭建一下博客.

旧的文件

这两天还想尝试一下把 Micolog 上写过的几篇文章搬过来.

学政治

开始就意味着结束,为期8天的假期政治课程的补习就这么结束了。本来打算听到最后一分钟的,但是我们家那位说什么也不听了,也就随她回来了。其实也不能怪她,最后讲经济学原理老师的授课节奏确实太慢了,还不怎么讲重点,总是讲例子,说离题的内容,有故意拖延时间的嫌疑,让我们这些着急复习的同学们听得很郁闷。

辅导,其实就是把发给你的教材过一遍,让你都有个印象,知道一下都考什么,具体怎么背诵,还得再下功夫。

很有幸又看到了一本比较想仔细一读的书,叫「浪潮之巅」。

豆瓣链接:http://book.douban.com/subject/6709783/

发布会视频:http://v.youku.com/v_show/id_XMjg5ODY3MTQw.html

作者在发布会上用五句话概括马克思主义,我觉得说得很精炼,摘抄如下:

  • 世界是物质的。

  • 物质是运动的。

  • 运动是有规律的。

  • 规律是可以认识的。

  • 规律是不可以阻挡的。

当然,作者在视频中说的内容远远不是这些,只是比较符合我现在的情况,记录了一下。听作者讲话能感觉出是个渊博的人,视频很值得一看。

更多作者的信息(需要翻): https://sites.google.com/site/junwu02/%E6%B5%AA%E6%BD%AE%E4%B9%8B%E5%B7%85

Glee。。。

完。

GMusicDown Python 版本

很早以前就想做一个能从 Google Music 上下载一张专辑的软件,毕竟一首歌一首歌的去点击有点麻烦,但是当时也啥也不会,看HTML页面是如何跳转的也完全没有头绪,然后就放下了这个念头。后来看到有人做出了这种功能的软件,虽然没有使用,但是心里也有了个印象。

前阵子因为 GAE 的原因,学了一些 Python 编程,试着用 BeautifulSoup 写了一些小程序,也算是学了点东西。

前段时间又看到那个软件,就想下下来试试。但是作者只提供的 MFC 和 Java 版本的,在 Mac 下不太方便,所以就读了读作者提供的源代码,自己写了个 Python 的脚本。

GMusicDown 程序链接:http://sites.google.com/site/clock88731/Software/GMusicDown(貌似需要翻墙访问)

小众软件介绍 GMusicDown 链接:http://www.appinn.com/gmusicdown

在这里特别感谢这个作者吧。(貌似是大我一届的华中科技大的学长。。。)

我写的脚本的程序截图:

程序截图1

具体的代码就不贴了,没有太多的技术含量,有需要或者想跑跑试试的同学见github。

程序在这里:https://github.com/Eec/GMusicDownloader

简单说下还存在的问题:

  • 链接抓多了,服务器会记录你的IP,然后每次打开下载页都需要输入验证码的。我没有写任何破解验证码的程序,Google 的这个验证码对于现阶段的我来说还是个太技术的活了。好在输入一次验证码后,验证码中的 Token 会有效一段时间,足够抓取整个专辑的下载地址了,具体怎么操作程序中有写。

  • 野蛮地开启了和歌曲数量相同的线程数。

  • Python 中文编码遇到了一点小问题,花了一些时间才搞定。

完。

假期@168 days - 考研倒计

距离上次写博客已经有了10天之久,不上来写博客不是因为无话可说,只是每天只有在夜深的时候才有闲暇坐下来反省。而往往在夜里就懒惰了,爬上去就睡觉了。

最近大连的天气不太正常,要么雨声震天响,闪电不断,要么雾气蒙蒙,要么闷热到让人流汗,总之让人很不舒服。

前天过了一个疲顿的生日,和我们家妞出去吃火锅,看「变形金刚3」—网上的评论虽然不太好,但是我们看得还是很带劲儿的。车都特别拉风,很能勾起购买欲(就是买不起。。。)。

夜里的学校静悄悄,假期的原因,校园里一片荒凉。自习室里复习的气氛很浓厚,这宁静的气氛冲刷去了荒凉。食堂的饭菜也很舒服,是一个个惬意的学习的日子。

总想写点什么纪念一下已经经过的3年的大学时光,内容已经想好了,但是总是没有时间下笔。希望最近能找到一个可以用来整理一下这三年吧。

这两天的马桶读物是「新东方英语背诵美文30篇–生而为赢」。

其中有一个章节叫做「What is Your Recovery Rate ?」,是这样讲的:

Don‘t live your life in the past! Learn to live in the present, to overcome the past. Stop the past from influencing your daily life. Don’t allow thoughts of the past to reduce your personal best. Stop the past from interfering with your life. Learn to recover quickly.

不要生活在过去!要学会生活在现在,学会克服过去;不要让过去影响你的日常生活;不要让过去的思想妨碍你做到最好;不要让过去干扰你的生活;学会快速恢复。

这段话听吴彦祖在一个视频中说过,大概在其他地方也听过几次。但是做起来似乎不是那么简单。

Don’t live your life in the past! Learn to live in the present. 与君共勉。

完。

附:

升级了Lion,很稳定,很多新功能很喜欢。

斗志!@178 - days

七月已经在不经意间走过了一半,而复习的计划一直处在被打乱的状态,近半个月来都整理不出头绪。

课程设计在打断计划,IBM认证在打乱计划,同学的聚会在打乱计划,偶尔看到的天涯帖子在打乱计划。以上客观因素不可避免,但是计划就这么容易被打乱吗?

晚饭和将要离开的同学喝了一些酒,回来后看一个乔丹的视频看得激动,就拿起篮球出去运动了一下。打球回来的路上,心里突然觉得豁然开朗了许多。我突然发觉这么长时间没有状态,计划被轻易打乱,只有这样一个原因,就是我缺少对胜利的那种渴望,没有燃烧着的斗志。我活的太安逸了,虽然心中有那么一丁点危机感,但是远远不够,况且更多的是对于现状的满足,是对于比较好就满意了的心态。

面对残酷的生活,人渐渐学会了妥协,学会了不去追求最好,悄悄的放低了对自己的要求。慢慢地,我开始用比较努力的状态追求一个比较好的结果。然而,这样做的结果往往是不好,而不是比较好!

从今天开始,找回自己的斗志,找回自己的求胜欲,找回奋斗的激情,大步向前!

Jobs says: “Your time is limited, so don’t waste it living someone else’s life. Don’t be trapped by dogma - which is living with the results of other people’s thinking. Don’t let the noise of others’ opinions drown out your own inner voice. And most important, have the courage to follow your heart and intuition. They somehow already know what you truly want to become. Everything else is secondary.”

晚安。

完。

半年@180 days - 考研倒计

按照常规推测得到的考研日期计算,今天距离考研还有180天,也就是大约6个月的时间。

最近几天的作息不太有规律,每天不能保证学习的时间,晚上也不能好好睡觉,总是沉迷在故事里。小学期最后一门课程设计结束了,这个周末还有一个 IBM 的考试,大学的课程就这样悄无声息,毫无预兆的画上了休止符。

更多同龄人选择了走向社会,在社会中找到属于自己的位置,出发前往或是远离故土,或是靠近家乡的企业,找寻自己想要的生活。每到这个时候,大概都免不了要感慨,感慨时光的荏苒,感慨相识这三年的短暂,感慨曾经发生的一段段记忆,继而唏嘘不已。

选择继续读书的我,站在学校的这个原点,挥手向曾经共同共同努力学习,共同讨论问题的同学道别,心中很是留恋。

对于自己,回想自己走过的三年,我也并不感觉遗憾。

对比刚来时候的我,我变得成熟了。能够战胜和他人交往中的那些怯懦,对人坦诚了许多。过去的自己总是很狭隘的看世界,心里只装着自己,对别人的事情从不过多了解,甚至连别人的名字都不用心记住。在这三年里,我学会了如何尊敬他人,如何在和人产生矛盾是试着理解他人。

心态也有所改观,因为更多地认识了自己。

学到了很多很多从前不了解的内容。

思维也变得开阔。

死亡是所有人的终点和结果。看似可怕的失败只是一种体验,丰富你阅历的同时,让你在将来过得更好。所以无畏失败,所以无畏向前。

完。

Google自定义搜索@186 days - 考研倒计

Google居然还可以自定义搜索,我真的是孤陋寡闻了,今天无意间看到 李笑来 的博客才知道的。原文链接

Custom Search 的说明文档:http://code.google.com/intl/en/apis/customsearch/docs/dev_guide.html

真的是很有用的一个api啊。

这是文章页面里提到的几个有用的自定义搜索的链接:

英文媒体搜索:http://www.google.com/cse/home?cx=017195234153172777936%3Arprimc6muy0

只搜索以下网站

  • http://www.economist.com/
  • http://www.cnn.com/
  • http://www.time.com/
  • http://nytimes.com/
  • http://www.washingtonpost.com/
  • http://www.usnews.com/
  • http://usatoday.com/
  • http://www.reuters.com/
  • http://www.bbc.co.uk/
  • http://en.wikinews.org/

百科类搜索:http://www.google.com/cse/home?cx=017195234153172777936:urvj51ftram

只搜索以下网站

  • http://en.wikipedia.org/
  • http://encarta.msn.com/
  • http://knol.google.com/
  • http://www.thecanadianencyclopedia.com/
  • http://en.citizendium.org/
  • http://www.bartleby.com/65/
  • http://www.eb.com/

在线文件共享站点搜索:http://www.google.com/coop/cse?cx=006422944775554126616:e5kwgj0fhu4

不得不感叹一下,拥有这么庞大的数据,随便做一个小应用就造福众生。

PS:

最近折腾了一下 DNS 隧道 ,晚上熄灯的时候,蹭中国联通的无线网,玩得优哉游哉。

给 Macbook 换了一个 500GB 的硬盘,数据直接磁盘间拷贝,这功能太爽了。

这几天没怎么看考研的内容,罪过罪过啊,自省。

完。