Just one last dance —— Sarah Connor

忘了第一次在什么时候听到这首歌,大概是刚返家那会儿,某个偶然的机会下听到的吧。

听完前两句就沦陷了…

just one last dance….oh baby…just one last dance
we meet in the night in the spanish café
i look in your eyes just don’t know what to say
it feels like i’m drowning in salty water
a few hours left ’til the sun’s gonna rise
tomorrow will come an it’s time to realize
our love has finished forever
how i wish to come with you (wish to come with you)
how i wish we make it through
just one last dance
before we say goodbye
when we sway and turn round and round and round
it’s like the first time

just one more chance
hold me tight and keep me warm
cause the night is getting cold
and i don’t know where i belong
just one last dance
the wine and the lights and the spanish guitar
i’ll never forget how romantic they are
but i know, tomorrow i’ll lose the one i love
there’s no way to come with you
it’s the only thing to do oh~~
Read the rest of this entry »

,

3 Comments

HTC Radar和Kindle keyboard

HTC Radar

Radar是在6号回家那天在车站拿到手的,用于接替我那挂掉的HD2。

我的HD2命途多舛。10年8月被制造出来,准备销往德国,却在上路前被检出质量问题。很难想象质量有缺陷的产品能在德国这个工业制造强国生存,于是这台HD2辗转流落到了中关村。普天之下,再没有其他地方比中关村更适合它生存了!因为它需要的不只是一个买主,更是一个倒霉的垫背。

最后,我成了它的垫背。

都说HD2是神机,因为它可以刷目前几乎所有的智能机系统。但是这台HD2更像是瘟鸡,每隔三月,必然出现无法开机。时间之准足以令无数少女倾慕,如果其犯病间隔缩短到一个月,估计不消几日,便会被无数妙龄少女抢购一空。

经历前后三次的维修也最终没能使它摆脱成为大屏镜子的命运。

哥花了3.3K买了一个手机外形的镜子,未来这必将传为佳话!

HD2飞升后,我便开始寻找其继位者。原打算一年半载之后,趁着Lumia800降价将其购入,但神鸡的突然离去打乱了我的计划。一番搜索之后,将目标锁定在了HTC DHD和HTC Radar。

DHD应该无需多言,HD2的升级版,豪华配置,更关键的是,一年未至,价格已经从3.2K降至2K以下。但是对于WP Mango的向往最终使我选择了Radar。
Read the rest of this entry »

, , ,

11 Comments

手机坏了,网断了

RT

经常看我日志的小朋友会发现,我特别喜欢在日志开头用RT。这么做其实是因为可以在日志里占两行(包括换行),不过今天呢,是三行。。

前天早上一起来,发现手机闹铃没有如约响起,按了下按钮,手机一点反应都没有了…起初以为是电池没电,将电池放入充电器充电,充满后才发现真正的杯具来了。。。手机启动卡在了HTC标志。捅了复位键依旧。

压抑着悲痛,换了备用手机,N年前的三星。并打电话让椿哥帮忙买个新手机:HTC Radar。

此过程插曲很多,以后叙说。椿哥说Radar用着很不错~啧啧,无比期待

有小朋友会问,你丫不是没网了嘛??

没错,我的帐号从1 Jan 2012到期,我6 Jan 2012就回家了,而一个月的网费至少30¥,我会续费吗?? apparently not!

我是接了同学的帐号上的。而且得确定是在他不上的时候。

嗯,其他事情以后再说吧~

,

5 Comments

第一个考试周结束

RT

几天奋战,第一个考试周终于结束了,sigh~

接下来是长达8天的休息时间,需要好好重新规划安排下。

2 Comments

月中记

12月中都过了好几天了,这个学期也快结束了吧。

PART1

现在面临的,基本上也就是各种考试。

上周六考完六级,我不仅表示很淡定,还尼玛蛋疼。更离奇的是一回来就听到有关试题、答案泄漏的消息。

这周是第一个考试周,大小总计5门考试:Java 电工电子 毛概 操作系统 和 网络操作系统。其实我挺担心电工会挂的……

这周过去之后,差不多是8天的休息,接着结束掉剩下三科就可以滚回家了。

PART2

前几天运气不错,秒到了特价机票。裸票205,总计395。6号8点从天津飞往上哈浦东。

加上和郁磊志超一块飞,打的钱都可以少花不少。

不过由于车站都在虹桥,还得拉着大包小包从浦东跑到虹桥……

过几天还得在顶一张虹桥发车的动车票。晨晨说他们下周二5点起床秒杀车票。现在打算暂时和他们一起买TvT

PART3

上周一,新图书馆的理工二三区终于开放了,在里面发现了不少的好书。

尤其三区原版书库,各种surprise。顺便从三区捞了本APUE 2nd 的英文版,打算寒假和Win核心编程一块看。加强下OS Kernel这块。

整理了下书单,这次回家差不多要带14本左右的书……好吧,的确很多。

其中的四本数学估计开学初还得在带回学校。没办法,数学这块不能急。

比较兴奋的是,回去就可以用Kindle了,还是比较期待的。一来可以见识下传说中的墨水瓶,二来可以利用收藏的电子书搭建一个个人小型图书馆了~

PART4

手机最近又出问题了……唉,老毛病了。

上周刷了MIUI的Android,结果当天下午就病发了。事实证明,硬件坏了……

想买NOKIA Lumia 800,主要是看中WP7.5。不过现在的价格似乎有点高,3600+让我去买个手机还真不知道值不值。

还是等半年等他降价吧……

Final

最后预祝下我考试不挂科

6 Comments

C++中的私有继承

和大多数OO语言不同C++允许私有继承(private inheritance)。

对于公有继承而言,子类和父类间的关系是is-a。即,每一个子对象都是父对象。

因而父类中的所有实现和接口对于子类来说,可见性都是维持不变的。

但是私有继承会改变父类中接口和实现在子类中的可见性(均变为private),故私有继承不是is-a的模型。

事实上,私有继承对应has-ais-implemented-in-terms-of的继承模型。

而has-a或is-implemented-in-terms-of模型大部分情况下,可以使用包含所需类的对象为成员的策略解决,这让私有继承的存在显得有点多余。

不过私有继承在绝大多数情况下,有两个主要的用途。

(1)在避免产生不符合逻辑的is-a关系的前提下改写某个类的虚函数

比如有一个在桌面显示小东西的类Widget,需要定时处理一些事件,因此它需要改写类Timer的虚函数。但是因为Timer和Widget没有逻辑联系,所以不能使用公有继承。

此时,私有继承则可以很优雅的解决问题

class Timer
{
	public:
		explicit Timer(int tickFrequency);

		// automatically called for each tick
		virtual void onTick() const;
};

class Widget: private Timer
{
	private:
	  virtual void onTick() const;

};

当然,如果执意不用私有继承也可以解决。所用策略一般是,使用嵌套一个继承自(公有继承)自目标类的方式:

class Widget
{
	private:
		class WidgetTimer: public Timer
		{
		   	public:
			    virtual void onTick() const;

		};

	WidgetTimer timer;
};

虽然能达到同样的效果,但是和使用私有继承相比,显得笨拙不少。

故私有继承常用于管理钩子或者回调函数。


使用私有继承的另外一种情况是:当你需要继承一个什么数据都没有的类。例如,只用于存放typedef定义和函数声明的类(这种类在STL等库中很常见)。

之所以采用私有继承,和C++的处理机制有关:C++规定对象大小必须至少为一

所以C++会让那些“空类”对象在内存中占有一定的空间,即

class Empty{}; // sizeof(Empty) > 0

对于大多数编译器,他们会在你毫不知情的情况下偷偷插入一个char数据类型。

因此,如果采用组合(composition)的实现方式,会引起不必要的内存开销,这可能还要算上内存对齐产生的间隙。而私有继承则后,子类不会再是空数据,编译器不会再偷插入数据,可以避免这一浪费。

这种优化成为Empty Base Optimization(EBO)。且EBO只能在Single Inheritance下起作用。

一个很有意思的事实是,私有继承常和另一个受众人嗤之以鼻的继承模型–多重继承一块儿使用。

总而言之,仅在证明使用私有继承比所有可选方法更有效时,才采取这一做法。

, ,

6 Comments

长系列赛对谁有利?

NBA季后赛从02-03赛季开始,首轮即采用7局四胜制。

从一方面,这提高了收视率,实现了商业最大化;而从另一方面,这也对比赛结果产生了一定影响。

那么采用长系列赛制对谁更有利?一个直觉性的答案是对强队有利,因为长系列赛制可以减少非实力因素带来的干扰,降低某支球队被黑的概率。

我们可以建立一个简单的模型进行验证。

假设:湖人队和凯尔特人对在总决赛相遇,双方要打n场比赛,其中n为奇数。设湖人队赢一场比赛的概率为p,且每场比赛相互独立。求p的取值范围,使得对于湖人队来说,n=2k+1比n=2k-1更加有利。

很容易知道,湖人队和凯尔特人队获胜的场数是二项随机变量(Binomial Random Variable)。

一个简单的方法是:假设共打了i场比赛,湖人队胜利k(k+1)场,利用最后一场决定输赢的策略,从i=k(k+1)累加到i=2k-1(2k+1),最后做差。

但是这样的到的结果难于手工计算。

为此,我们使用另一种策略:

我们设N为前2k-1场比赛中湖人队获胜的场次数,设事件A、B分别为打2k+1场和打2k-1场比赛,则


上面我们假设打满2k-1场,即不考虑中途获胜结束(这对结果不会有影响)。我们将样本空间做了分割,并分别利用全概率定理和可加性求出P(A)和P(B)

为了求出p的范围,我们对P(A)和P(B)进行做差

也就是说,只要湖人队一场比赛获胜概率超过1/2,那么长系列赛对其总是有利的,这也与前面我们提到的直观感觉相符合。

, , ,

12 Comments

两道和无理数有关的证明题

两道题均是Introduction to Calculus and Analysis I的习题

0.证明两个有理数间存在无穷多个无理数

1.证明p次根号n是无理数

, , ,

No Comments

Win7 X64下搭建Apache+Python环境

由于要加入sunus的doubanci项目,所以需要搭建一个python的web开发环境。比较麻烦的是,不同于PHP,A&P没有现成的一体包。必须要手动安装和配置。

0.python环境

doubanci的核心代码采用python3.x,所以本机装的也是python3.x.考虑到x64的python的兼容性问题,所以装的是x86版本

IDE采用VIM和VS with PTVS。不过目前编码还是以vim为主。

1.apache

apache是个大头,曾经搭建php环境时就让我焦头烂额。

由于官方没有提供x64的apace,所以用的是非官方编译的版本,可以在http://www.blackdot.be/?inc=apache/binaries下载

该安装包使用方法如下:


0.首先解压,例如:D:\httpd-2.2-x64

1.打开conf文件夹下的httpd.conf文件(最好先备份),做如下修改(搜索前面的keyword)
   (i)  ServerRoot "/httpd-2.2-x64"
   (ii) Listen 80
   (iii)ServerName 127.0.0.1:80
   (iv) DocumentRoot "/httpd-2.2-x64/htdocs"
   (v)  定位到<Directory "/httpd-2.2-x64/htdocs">,往其中加入
        Options +ExecCGI
	AddHandler cgi-script .cgi .py

2.保存文件后在命令行里进入到D:\httpd-2.2-x64\bin,输入
  httpd -k install
进行安装。成功后会有提示

要开启apache服务,执行

httpd -k start

关闭则用

httpd -k shutdown

打开浏览器,输入http://localhost后如果看到It works则说明apache在正常运转

事实上,也可以先安装apache,在配置conf文件。

另外,步骤1中的(v)的目的是开启CGI功能,详细信息请参考http://httpd.apache.org/docs/2.0/howto/cgi.html

 

2.利用CGI解析python

最后一步相比较为简单,在apache目录的htdocs文件夹下新建一个python文件(也可以通过修改DocumentRoot将目录文件夹设为其他文件夹)

在文件头两行输入

#!D:/Python32/python.exe
print("Content-type: text/html\n\n")

这两行代码用于设置解释器位置和重定向,需要由CGI执行的文件都要包含此语句。

剩下的代码可以随便写,例如直接通过标准i/o流写html标签

print("<h1>Hi, all</h1>")
print("<h1>This is a demo for cgi with python</h1>")

保存后打开浏览器访问即可以看到结果

至于MySql什么的,暂时还没有需求,故没有安装

, , ,

7 Comments

我的歌声里 —— 曲婉婷

今天的日子有点特殊,但是和这首歌半点关系都没有。

我一直觉得所谓的光棍节,纯粹是某部分人闲的蛋疼整出来折腾自己的东西。

所以,我想说的是,这首歌真的很不错。

曲婉婷的声音给人种独特的感觉:慵懒且富有磁性。能引起共鸣却又不显造作。

没有一点点防备
也没有一丝顾虑
你就这样出现在我的世界里
带给我惊喜情不自已

可是你偏又这样
在我不知不觉中悄悄的消失
从我的世界里没有音讯
剩下的只是回忆

你存在我深深的脑海里
我的梦里 我的心里 我的歌声里
你存在我深深的脑海里
我的梦里 我的心里 我的歌声里

还记得我们曾经
肩并肩一起走过那段繁华巷口
尽管你我是陌生人是过路人
但彼此还是感觉到了对方的
一个眼神一个心跳
一种意想不到的快乐
好像是一场梦境命中注定

你存在我深深的脑海里
我的梦里 我的心里 我的歌声里
你存在我深深的脑海里
我的梦里 我的心里 我的歌声里

世界之大为何我们相遇
难道是缘分难道是天意

你存在我深深的脑海里
我的梦里 我的心里 我的歌声里
你存在我深深的脑海里
我的梦里 我的心里 我的歌声里
你存在我深深的脑海里
我的梦里 我的心里 我的歌声里

, , , ,

2 Comments