Browsed by
Author: YI

为什么我们比日本人还恐慌?

为什么我们比日本人还恐慌?

日本发生了地震和海啸,情况确实比较惨,让人很同情。在同情之余,我同样认为这是老天对他们的报应,虽然残酷,我也不想假惺惺地装高尚。从电视介绍的情况看,日本人的国民素质让人肃然起敬,不得不说这是个强悍的民族。在这样的天灾面前,居然保持极高的镇定:没有人闯红灯、没有人哄抢、没有商店乘机疯长商品价格、大家都在排队买(或者接受)商品,甚至在广场聚会后没有留下一片垃圾!这是发生重大自然灾害后的场景吗? 没有影帝和农民艺术家飚戏,没有催人泪下地感谢XXX,有的只是紧张有序的自我救援和相互关爱。这真是个奇怪的民族!

而今天我彻底汗了!

今天老妈跑遍了各超市、菜场,居然没有买到盐!请注意,是盐!不是什么贵重稀罕的东西。传言日本福岛的辐射有影响,大家疯了似地开始囤盐了!有货的超市也乘机开始涨价,平时卖一块钱一包的盐,现在卖五块了!你还别嫌贵,爱买不买!

这让我十分恍惚,感觉就像被穿越了,到底是哪里发生地震、海啸?!这实在是耻辱!当整个国民素质开始堕落后,我们也会有自己的报应!(电视上在报道“健身猪”的事情,这真是黑色幽默,吃了瘦肉精的猪居然叫“健身猪”)

顺带鄙视一下嬉戏TV,这几天就像打了鸡血,整系列整系列地报道日本的灾情,精神很亢奋,仿佛地震海啸是发生在中国,主持人的表情都很沉痛,就像自己的亲人被灾了。而对同期发生在云南盈江的地震却少有提及,仿佛这事不曾发生过,或者不曾发生在中国。这同样让人感觉很穿越,实在是无语。

治疗心血管堵塞的一个偏方

治疗心血管堵塞的一个偏方

中午中央电视台一个中医药节目,介绍了一个90岁老人治疗心血管堵塞的情况。这位老人曾经中风过,后来据说长期坚持这个偏方,现在仍然很健康,居然还天天去菜场买菜。

这个偏方也比较简单:就是将生黑豆用山西老醋(?陈醋,看上去黑黑的)泡两个月后,每天吃两勺这种黑豆。注意是生黑豆,不要弄熟了再去泡。

看上去似乎就是软化血管。

QT SDK与C4100编译告警

QT SDK与C4100编译告警

“warning C4100: … unreferenced formal parameter.”

QT SDK (VC2008)在使用qmake生成makefile文件时,缺省会打开C4100的编译告警开关。就我们的开发实践来说,C4100实在是个多余的告警,尤其是在C++程序中,我们经常定义一些虚函数等作为接口类,这些虚函数本身基本是空函数,由派生类重载出具体的实现。一旦放开C4100告警,VC编译器就看这些函数中没有引用的形参非常不爽,频频给出告警,实在是烦人。

我们可以在头文件中要求编译器忽略C4100告警:

#pragma warning( push )

#pragma warning( disable : 4100 )

void fun1(…){}

#pragma warning( pop )

这样做也有不好的一面,我们不得不修改.h文件,包括一些第三方库的头文件。另外,这似乎也破坏了跨平台的特性,和VC编译器绑定过紧(?不清楚其他编译器,例如gcc,是否也支持这种预处理指令)。

我们决定直接关掉C4100告警,修改以下文件(qt安装在d:\qt\4.6.2目录):

D:\Qt\4.6.2\mkspecs\win32-msvc2008\qmake.conf

在这个文件中,找到QMAKE_CXXFLAGS_WARN_ON,将它后面的-w34100删除掉。

然后回到自己的工程,重新用qmake生成makefile,此时再编译,就不会有C4100告警了。

中国软件开发人员的杯具

中国软件开发人员的杯具

在cnbeta上看到一篇报道,心里非常感慨。大学生只需要花149元就可以购买到正版的win7专业版和office2010专业版,居然只有不足20%的人愿意购买(可能大家觉得5块钱的盗版碟更便宜啊)。

149元应该算相当便宜了吧?149元在北京、深圳等地,估计还不够周末请客一顿饭钱。

大学生应该算未来的精英吧?如果这样一个精英团体都持这样的观念,那平常的群众也就可想而知了。

谁还愿意为这个市场开发软件?谁还能说这是个很大的市场?

原文链接:

http://www.cnbeta.com/articles/136238.htm

Amazon EC2/Ubuntu系统下搭建VPN环境

Amazon EC2/Ubuntu系统下搭建VPN环境

以下是基于Amazon EC2/Ubuntu搭建PPTPD服务提供VPN连接的过程记录。至于为什么要搞VPN,大家都懂的。。。而我主要是要访问Python的一些网站以及使用我非常喜欢的Google docs。

PPTP采用TCP 1723端口,因此在Amazon EC2的防火墙配置中,必须打开这个端口,否则client端无法接入。(网上有文章说也需要打开47端口(GRE端口),我在Amazon EC2上试验的结论是不需要特别设置。)

step1: 安装pptpd

很简单的命令:sudo apt-get install pptpd

step2: 修改pptpd的配置

有三个文件需要修改:

(1)修改/etc/pptpd.conf,添加以下内容(原文件中可能已经有这些内容,确认即可)

localip 192.168.0.1

remoteip 192.168.0.100-110

localip是指VPN建立后,client可以用这个地址访问VPN server。

remoteip就是指分配给client的地址。

(2)修改/etc/ppp/pptpd-options文件,增加以下内容:

ms-dns 8.8.8.8

ms-dns 8.8.4.4

这个配置是使用Google的DNS解析。至于原因,你也懂的。。。

(3)修改/etc/ppp/chap-secrets文件,设置客户机登录的帐号和密码:

# client server secret IP addresses

yxh * 1234 *

“client”是用户名,“server”是服务器地址,”secret”是登录密码,”IP addresses”是分配的地址,如果指定*,则由系统自动分配。

step3: 重起PPTPD服务:sudo service pptpd restart

step4:配置IP转发

修改/etc/sysctl.conf文件,打开以下的注释:

net.ipv4.ip_forward=1

step5: 重新加载IP转发配置

sudo sysctl -p

step6: 修改Iptables,设置网络地址翻译

sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

上述设置在重起后悔丢失,因此需要修改 /etc/rc.local文件, 在exit 0之前添加以下语句:

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

step7: 配置DDNS

Amazon EC2每次重起都会变换地址,因此我们需要配置DDNS来获取动态域名解析。在这一步之前,需要在DynDNS上申请一个免费的域名。国内类似的服务商是“花生壳”,我没有进行过测试,不知道“花生壳”是否也适合以下配置。

申请到DynDNS帐号后,下载并安装ddclient:

sudo apt-get install ddclient

安装过程中, 会有简单的界面进行配置, 设置dyndns的相关帐户即可。设置完成后, 配置信息会自动写入/etc/ddclient.conf文件。

完成上述步骤后,就可以在windows客户端拨号建立VPN连接了。

以上资料主要参考一篇国外有人的blog:http://www.dikant.de/2010/10/08/setting-up-a-vpn-server-on-amazon-ec2/

最后说一下Amazon EC2。国内有几篇很不错的翻译可以参考,不过最好的资料还是Amazon本身提供的GettingStarted文档,虽然是英文的,不过非常简单明了:http://docs.amazonwebservices.com/AWSEC2/latest/GettingStartedGuide

Kubuntu环境下设置VPN连接

Kubuntu环境下设置VPN连接

昨天在Amazon EC2上搭建了一套PPTP-VPN环境,通过Windows建立VPN连接非常成功,但是在Kubuntu环境中,采用“网络设置”中的VPN连接,始终无法与VPN服务器建立连接。

后来发现原来有些小机关要设置,参考资料是一片英文文档:

http://vpnblog.info/ubuntu-pptp-strongvpn.html

实际上有两个地方要注意,在VPN的“高级”配置中,(1)要去掉MSCHAP认证方式;(2)同时要选择“使用MPPE加密”。

Nokia转向WindowPhone之后

Nokia转向WindowPhone之后

MeeGo的发展固然堪忧,QT的发展也固然受到影响,不过受影响最大的应该就是Intel。如果生产出手机芯片,却没有任何一个厂家支持,确实让人烦恼;不能在手机芯片市场站稳脚根,其他移动设备市场即使占有较大份额,估计对Intel也没有太大的意义。

Intel想去寻找另外一个手机大厂来支持它的芯片和MeeGo系统,估计会比较困难。与其这样,为什么不向联发科学习?提供完整解决方案给中国的山寨厂家。中国手机山寨厂家的能力还是很强的,很有可能会对Nokia/Samsong/Moto造成极大的冲击,是手机世界里另一股不可忽视的力量。

远程重起Ubuntu

远程重起Ubuntu

通过SSH2在远程登陆Ubuntu,可以使用下面的命令关闭或者重起Ubuntu:

sudo shutdown -h now 现在关机

sudo shutdown -r now 现在重起

另外,需要在路由器上放开22端口,才能通过远程访问Ubuntu。

Apache2打开SSL连接功能

Apache2打开SSL连接功能

以下操作基于Ubuntu10.10,参考随机附带的文档:/usr/share/doc/apache2/README.Debian.gz

Ubuntu确实不错,只需要简单的几个命令就可以了。

sudo a2ensite default-ssl
sudo a2enmod ssl
sudo make-ssl-cert generate-default-snakeoil --force-overwrite

执行上述操作后,apache2的配置文件变更为:/etc/apache2/sites-enabled/default-ssl

使用命令 sudo service apache2 restart 后,就可以以https方式访问apache服务器了。

Nokia居然选择了WindowPhone

Nokia居然选择了WindowPhone

这实在是一件让人费解的事情!作为一个老牌的手机开发商,居然放弃了最核心的手机操作系统部分!媒体拿moto作例子,moto不就是果断选择android才能重新崛起么?话是这么说,可是moto毕竟不像Nokia一样,moto手机部门是整个moto的一部分而已,而手机对Nokia来说,基本相当于命脉。积攒了这么多年的开发和人力,居然无法做出一个与iOS和Android竞争的系统,实在让人无语!

Nokia没有全力发展Maemo是一个错误,与Intel联盟发展MeeGo是另一个错误,转而与微软结盟可能是第三个错误。

当然,这些都是不明真相群众的围观看戏而已。让人忧虑的是QT未来的发展。

毫无疑问,Nokia这次的决定让QT处于非常尴尬的位置。坦率地说,这两年QT在Nokia的支持下发展非常好,4.x版本给人留下了非常好的印象。而现在Nokia据说只会给QT最小限度的支持,QT开发组裁员估计是不可避免的。现在国外各QT/KDE论坛都在热烈讨论是否有必要fork一个版本出来(感谢Nokia在4.x是发布了QT的LGPL版本),可见这个消息给QT开发社区造成了相当大的冲击。

作为商业开发,选择一个开发工具或者开发套件是一件非常慎重的事情。负责任的开发公司对已有的工具都进行了大量的投资(包括人力培训、产品积累、产品管理等),不可能像普通开发人员的个人兴趣那样随时转换工具,这期间涉及大量的版本迁移、客户支持、开发演进等各方面的重大变更。

而我们也恰恰选择了QT作为基础开发套件之一,并在QT上花费了巨大的人力、物力和财力!

即时最终QT社区fork出一个新的QT,在技术支持、开发质量等方面是否能保持目前的水准,也是个很大的问题。面对QT未来发展的不确定性,实在不得不深深地忧虑。