Archive

Archive for December, 2011

学Windows Phone App开发

December 27th, 2011 No comments

学了七年多的本专业,但却从没开发过一个实际的应用,我指的是那种可以release。一直以来都是写在命令行下运行的小程序,学的也不是应用层的东西,都是系统层的编程,总觉得少些什么。我要改变这一现状,利用些时间做些实际的东西出来。最开始想用Qt开发Linux上的应用程序,正好练练我学的Unix编程,但同学说Qt已经被Nokia遗弃了,不会有什么前途。的确,还是学些有用的东西,以后说不定能用上。之前有段时间看了些Android编程,后来被我扔了。Android和iOS上的应用已经多如牛毛了,现在追赶估计不怎么有利可图了。打算试试Windows Phone,ms去年才开始发力移动市场,wp的机会应该比较多。没学过C#,不过现学应该不难。已经入了两本书,一般C#,一本Windows Phone。已经开始看MS提供的教学视频和文档,so far so good。先构思一些想做的app,把应用程序的界面框架搭好,剩下的功能就边学C#边实现。当然,Unix的东西我不会放,得深入学习,现在写的都是小打小闹的程序,大多数是APUE书上的例子或习题。我比较想往系统层次的编程发展,比如写服务器程序等,需要找些项目来试试,不能再停留在书本上,不然不会有多少长进。

还有一年半就毕业了,抓住剩下的时间做些让自己满意的事,不再犹豫。

Categories: 博士五年 Tags: ,

又开了张信用卡

December 27th, 2011 No comments

最近随便在网上申了三张cash back的信用卡,没想到都approved了。我本不想申那么多,因为以为申请会被拒,谁知道都通过了。两张Citi的,一张Chase的。已经有了一张Citi的卡,所以那两张申到的credit limit都不高,1.2K。Chase的卡是第一次开,给了3K。最早来这时是从学校的银行申的信用卡,用了一年之后,积累了不少credit,然后才申Citi的卡。学校的那张卡一月份就到期了,只有1K的额度,所以我想应该是不会续期了。找个时间去销户,把剩下那些钱取出来。晚上打电话把Chase的卡激活了,最初三个月的cash back比较实惠,三个月花500以上会返还200,三个月后就是1%的cash back。另外两张Citi的卡也有这优惠,但俺不打算激活它们,没必要开那么多卡。不知道是cash back合算,还是积分合算,没有计算过。现有的citi卡就是算积分的,16K的积分换100刀的cash。

ZZ: 广东汕尾市委书记郑雁雄“精彩”语录 – 这就是当官的

December 20th, 2011 No comments

郑雁雄:“…赔就赔啦,政府来陪,当然,羊毛出在羊身上…”

郑雁雄:“…(政府)权力一天比一天小,手段一天比一天少,责任一天比一天大,老百姓一天比一天胃口高,一天比一天聪明,一天比一天难管。像这样负责任的政府,你不指望,你指望国外几个烂媒体、烂报纸、烂网站,好坏都颠倒了!…”

……

虽然对他这样的态度和讲话很不爽,但人家说了大实话,这就是官场,这就是那些所谓的“父母官”。我想国内大多数当官的都和他一样的想法。

如果人民害怕政府,就是暴政。如果政府害怕人民,就是自由。(托马斯•杰斐逊)

以下是视频,一段新闻的节选。完整的讲话已经找不到了,估计被和谐了。


Read more…

Categories: 转载转载 Tags: , ,

signal function, signal handler, and signal mask on Ubuntu

December 16th, 2011 No comments

When I was trying to run the program in Figure 10.23 in APUE2e using Ubuntu command line, after I typed Ctrl+C twice, the program terminated, which meant that the second SIGINT signal generated was not caught by the signal handler (sig_int) installed previously. This was different from the book’s running results. So I added a checking line in sig_int to check whether the signal handler of SIGINT was changed after sig_int was called. The running result revealed that the signal handler of SIGINT has been set to default SIG_DFL, which meant the handler installed previously was called only one time. To make the program catch the SIGINT signal continuously, an additional call to signal had to be called in sig_int: signal(SIGINT, sig_int). I checked the Ubuntu manual for signal function and it said that:

If the disposition is set to a function, then first either the disposition is reset to SIG_DFL, or the signal is blocked (see Portability below), and then handler is called with argument signum. If invocation of the handler caused the signal to be blocked, then the signal is unblocked upon return from the handler.

Read more…

找实习之Google和Microsoft

December 15th, 2011 2 comments

从开始准备找实习到现在过了一段日子了,面了两家公司,Google和Microsoft,都被拒了。不过,虽然没有拿到offer,但从这两个面试中学到很多,尤其对我这个没有任何找实习或工作的经验的人来说,是非常重要的experience。写这篇文章,就是想对自己从开始准备面试以来做的事做个总结,想想自己有哪些地方不足,哪些可以改进,顺带介绍下gg和ms的面试流程。

以前没找过实习,没找过工作,没有任何这方面的准备经验,于是从零开始准备。在网上看了很多帖子,大部分是别人写的面经或实习总结,学习之。为了对付面试,找了本数据结构的书,把各种数据结构和常见算法都复习了一遍。买了本CareerCup出的书《Cracking the Coding Interview》,并把里面比较重要的章节里的题都做了一遍。有关data structure的有arrays and strings,linked lists,stacks and queues, trees and graphs。有关algorithm的有sorting and searching,recursion and dynamic programming。其他的如scalability,memory limits,testing,C,C++,Java,threads and locks。还有一些章节没写没看,随后得补上。Data structure的东西一定要熟悉,并知道如何应用它们解决一些常见问题,数据结构的书一般也会给出一些常用的应用例子,值得好好看看。Algorithm部分了解一些常用的算法,尤其是排序和搜索。此外递归应用和动态规划会经常用到,把问题细化简单化。其他的题是针对特定领域或语言的,一般不需要coding,但比较注重解决问题的思路。

当我看cracking这书时,把注意力更多的放在了解题上,经常是一看到题目就提笔想解决办法,然后coding。这种做法,不论是在实际的解题过程中,还是在面试中都是不可取的,这也是导致我被拒的主要原因,我觉得。就目前我面过的而言,面试官想看的往往不是你多聪明,多快地想出解决办法,是否给出了最优解,而是想知道你解决问题的思路。当然能够给出最优解也很重要,但不能一开始就把重心放在这上面。我们平时上课写作业时,老师给的问题不会很模糊,也不会很复杂,需要的条件和假设也都会事先给你,往往不需要你考虑很多细节。但面试过程中,面试官问的问题往往很模糊。虽然模糊,但你真要立马coding也可以,不过coding时需要考虑到非常多问题,考虑的情况太多,会把程序复杂化,也很容易扰乱你的思路,应该没有几个面试官会喜欢这样的。为了能够很好的解决问题,需要你问一系列clarifying问题,把problem具体化,把那些需要知道的细节都理清楚,比如一个字符串多长,是不是null terminated的,有没有memory limit,等等。我想实际工作中解决问题的情况不比在学校时,对于任何给你的问题,都先搞清楚它的background,各种可能的影响因素,然后才能在这些给定的条件或假设下给出解决办法。不要害怕问问题,也不用担心问问题会让面试官觉得你不会做这题目。至于问什么样的问题就取决于问题本身了,尽可能地做细致地考虑。现在我看到问题会想一下有哪些unclear的地方,但考虑的只是一些可能影响到coding的细节,还是不够细致,问的问题也不够多。ms面试的时候就暴露了一些问题,面试官希望我问更多的问题,把problem搞清楚,这和我面的岗位有关系,SDET。Tester写测试代码前总是得对要测的东西有个全面且细致的了解,所以面的时候他们很强调这个。面试官抛一个模糊的问题给你,这就像一个陷进,如果不加考虑的就开始解题,很容易就落入圈套了,然后面试官们就会用那些该考虑而你没考虑的问题来问你。
Read more…

那些年,我们一起追的女孩

December 3rd, 2011 7 comments

很早之前无意中看到这部电影的预告片,之后一直惦记着。电影上映之后更是好几次在网络上搜索可以下载的片源,都无功而返。有一次找到个链接,片源说是这个电影的,下载完之后发现是A片,发帖的人太TM缺德了,害我白高兴一场。还有一次,某个网站出了个片源,看评论发现很坑爹,很多人说是《东成西就》,不是《那些年,我们一起追的女孩》。后面网站说修正了片源,是真的了。于是我满怀期待地下载了。结果,和评论里很多人的遭遇一样,下到94%就不动了,只好放弃。这年头,网上很多缺德的人为了赚点击率访问量,老是整些骗人的东西。我要深刻地诅咒这些人。我搜新出的海贼动画片时也一样,优酷和土豆上到处都是骗人的,明明是N天前上传的视频,还说是昨天刚出的新片。到最后,我实在不相信了,开始等枫雪动漫出的下载版,下了之后再看,这样靠谱多了。昨晚在校内看到一位学弟发了篇日志,日志标题就是这电影的名字,看了下日志内容,发现他看过这电影了,于是求源。丢了个链接给我,俺就屁颠屁颠地去下载了。总共四个文件,提供了三个下载网站。为了节约时间,我把所有网站都用上了,一个下一个文件。虽然如此,由于文件太大,每个都是八百多兆,最后还是花了一个多小时的时间下载。等下载完时已经凌晨两点多了,都是睡觉的点了。等了那么久的电影,让我放着不看先睡觉实在有点难。为什么那么期待这部电影,我也说不上来,可能只是想借此回忆下那些过往的时光。三十岁还不到的人,就如此怀旧,不知道是好还是坏。我比较喜欢电影的前半段,学校生活的那一段,用笔戳背,用脚踢屁股…好多画面,看得我好怀念高中,想到了好多人,曾经一起打闹的兄弟,曾经暗暗喜欢的人儿。如今我们都已经回不去了,各自有不同的路要走,但愿大家都顺顺利利的。多少年后,回忆那些往事时,能够让我独自发笑,已然足够。