修正dropbox无法启动问题

修正dropbox无法启动问题

也许是Ubuntu系统升级补丁的原因,也许是dropbox升级遇到网络异常的原因,总之,今天忽然发现dropbox没有启动,在面板中看不到dropbox的小图标。

使用命令检查dropbox状态,的确没有启动:

dropbox status

手工强制启动dropbox:

dropbox start

提示以下错误:

VerificationError: ... : No module named _cffi__xa0c4f46bx1d95b4de

在网上搜到一个解决方案,其实就是重新安装dropbox。在此之前要先删掉.dropbox-dist目录。与网上文章不同的是,我是在用户目录下找到这个目录。

rm -fr .dropbox-dist/

删除完成后,重装dropbox即可。重装不会影响原有的同步目录。

dropbox start -i

备注:系统版本为 Kubuntu 13.10(x86_32); dropbox版本为2.6.27。

qt编译中抑制特定告警信息

qt编译中抑制特定告警信息

在编译某些代码时,我们希望抑制掉一些VC的编译告警,例如C4244(丢失精度告警)。我们可以直接修改mkspecs目录下对应的配置文件,但这样做会影响到所有工程,而我们实际上只希望对某些特定的工程关闭该告警。

可以直接修改pro文件,加入以下内容即可:

QMAKE_CFLAGS += /wd4244

如果是cpp文件,则指定以下参数即可:

QMAKE_CXXFLAGS += /wd4244
嘻嘻TV又被打脸了

嘻嘻TV又被打脸了

新闻“盗版用户无权指责微软不负责任”,原文链接如下:

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

最后一句是亮点:

央视报道者对于安装方便的Ghost系统本身已属于盗版的概念居然毫无察觉。以盗版使用者的身份,去指控微软不对他们负责,脸皮也未免太厚。
php闭合标签害死人

php闭合标签害死人

今天调试一段很简单的php代码:无非就是echo一个字符串给javascript程序,由js程序根据字符串走不同的逻辑即可。

遇到一个问题,几乎被折磨死:js得到的字符串前面总是多了一个’\n’! 排查了apache、js、php等方方面面的问题,最后居然发现是闭合标签’?>’导致的。

在php的文档中清楚地写明:解析器实际上是不解析这个闭合标签’?>’的。但是如果使用了这个标签,则后面的空格、换行等字符都会被带入后面的引用,引起多余的输出等。

在我的遭遇中,当前php引用了另外一个php文件,那个php文件在’?>’后多了一个’\n’,这个多余的换行符就被带入到当前的php中了。

解决方法也很简单,php文件都不包含闭合标签即可。话说回来了,“闭合”的意思不就是关闭了、结束了么?php解析器的处理方式真是让人感觉莫名其妙啊。

iptables常用命令

iptables常用命令

前段时间安装fail2ban后,陆续发现了一批IP地址在尝试暴力破解我们服务器的用户名和密码。无论这些IP地址是来自可怜的肉鸡,还是真实的弱智黑客,直接屏蔽掉这些地址更好,免得浪费计算资源。

由于fail2ban实际也是利用了iptables,因此花了点时间研究iptables,干脆直接使用iptables屏蔽那些已经暴露的IP地址。以下是一些常用的命令:

查看iptables已有的规则

sudo iptables -L -n --line-numbers

删除一个已有的规则

sudo iptables -D INPUT 8

其中,’8’是INPUT链里的序号。

屏蔽一个IP地址,例如116.10.191.185

sudo iptables -A INPUT -s 116.10.191.185 -j DROP

屏蔽一段IP地址,例如从116.10.191.0 ~ 116.10.191.255

sudo iptables -A INPUT -s 116.10.191.0/24 -j DROP

注意,‘24’是mask位,表示采用头三个字节(24位)进行mask。

我们可以将上述规则写入/etc/rc.local,系统启动时能自动屏蔽这些垃圾IP地址。

微软XP系统退役被指乃捞钱之举 专家:涉嫌垄断

微软XP系统退役被指乃捞钱之举 专家:涉嫌垄断

原文连接在此: http://www.cnbeta.com/articles/277235.htm

大清早看到这篇文章,实在是件让人呕吐的事情,也许吐吐会更健康?

在我看来,即便是从技术角度上讲,我也要向微软致敬!这些所谓的专家可能从来都没有开发过正经的产品吧?维持十三年的产品周期和技术支持,这是什么概念?!这已经相当惊人了!我不知道其他的软件产品是否也有这么长周期的。以其中某专家推崇的Linux系统而言,各发布版本也没有十三年支持周期的。通常不过5年或者7年,也就是去年,redhat(?suse)把周期提升到十年。相比之下,仍然逊色于微软。

十三年啊,还想怎么样?大部分技术人员的技术生命都没这么长!这已经是极端负责了!软件没法在新系统上用?早干吗去了?

有这个精力去折腾这事,为什么不把精力放在打击盗版上?为什么不去完善法制环境?如果有一个良好的生存环境,软件厂家不会去维护自己产品的升级换代?作为买家而言,难道没有掂量厂家的实力以及产品支持周期等基本的评估项?买个冰箱还要问一下售后支持多少年,买个软件产品就不需要了么?

有什么样的土壤,就会长什么样的草!在一个充斥着盗版、免费的垃圾环境中,你特么还想要求什么?吃屎去吧!

使用fail2ban防止恶意ssh登陆

使用fail2ban防止恶意ssh登陆

最近检查了一下系统的流量等情况,发现有人尝试以root身份登陆系统,简单粗暴地尝试各种密码,实在是很没品的事。对付这种无聊人无聊事最好的办法就是安装fail2ban,让他们醒悟吧。

fail2ban的原理简而言之就是:扫描log文件,发现有告警就记录。当告警超过一定的阀值,例如失败了6次,就调用iptables,将对应的IP地址屏蔽一段时间(缺省为600秒)。因此首先要确保iptables已经安装了,否则仅仅靠fail2ban是没有任何作用的。

在Ubuntu 10.04环境安装fail2ban是件轻松愉快的事,运行以下命令即可:

sudo apt-get install fail2ban

安装后,fail2ban默认会随系统启动而启动。

由于ssh默认最大尝试数为6,我们希望改成3, 因此需要修改/etc/fail2ban/jail.conf文件。找到ssh段落简单修改即可:

[ssh]
...
maxretry = 3

然后重启fail2ban使新配置生效:

sudo service fail2ban restart

可以检查/var/log/fail2ban.log文件了解各种过滤情况。

惜别Evernote

惜别Evernote

从10年开始使用Evernote,感觉一直挺好,记点小笔记、todo list之类的东西很方便。虽然后来涌现了各种各样的笔记类产品,对比之下还是坚持使用evernote,并且以为会一直用下去。

最近升级了5.2版本后,各种不爽。比如,每次启动时都需要重新输入账户和密码。从现象判断看,evernote显然默认为中国区的用户都是使用国内的帐号登录,而我实际上还是以前的国际帐号,导致登录或者同步失败。上evernote的网站上想反馈一下意见,不幸又看到不支持简体中文帮助(但是支持繁体中文帮助),心里不爽。

加上目前大部分时间需要工作在linux平台,而evernote死活不推出官方的linux版本,使用网页版本的话,又不如直接使用OneDrive中的OneNote来得方便,心里又是不爽。

乘着周末的时间,干脆把所有的笔记都拷贝到OneNote。最后,终于卸载了Evernote。

其实对比OneDrive,我更喜欢Google Docs。不过天朝的事,大家都懂的,就不多说了。

简单使用tcpdump抓包

简单使用tcpdump抓包

通常我们使用wireshark抓包并分析,在某些情况下(例如server环境)无法启动图形环境,此时可以使用命令行tcpdump工具抓包,并保存到相应的文件,最后可以用wireshark打开并分析。

使用命令很简单,例如下面的命令是抓取与demo.com:5060之间的UDP包:

tcpdump udp port 5060 and host demo.com -w result.cap -s0

其中,”-s0″是指不需要限制包大小。默认情况下,tcpdump会限制抓包大小,丢失包的内容。

37signals的两个重大改变

37signals的两个重大改变

37signals是Ruby界赫赫有名的公司,而我对她的了解来自于该公司创始人两本非常著名的书:getting real和rework。可以说,我实际上就是看完这两本书后,才决定走上创业道路的。

而今天该公司做出了两个重要的决定:(1)砍掉其他产品,只保留一个产品BaseCamp。(2)公司名也修改为BaseCamp,一切围绕BaseCamp。

这是让人非常吃惊的决定,同时也让人由衷地敬佩。保持对产品的专注,做一家小而美的公司,这也是我对自己、对公司的愿望。