努力赚钱

努力赚钱

“爸爸, 你是不是要努力赚钱养家啊?”

“哦, 是的”

“那您一定非常辛苦吧?”

“嗯, 比较辛苦”

“我送您一朵康乃馨, 祝您父亲节快乐”

“啊, 真的?! 太好了, 谢谢”

“您是不是很高兴啊?”

“对, 非常高兴”

“那您现在是不是觉得要更努力赚钱养家?”

“嗯, 哦, 是, 是的…”

要用VPN访问本站了?

要用VPN访问本站了?

采用独立IP也无法摆脱这个噩运!

尼玛的, 到底害怕什么呢? 我这么一个网站有什么必要封锁??

2012-06-11 updated: 现在又能正常访问, 看来是墙抽疯了.

哦的神啊, 90天40万行代码

哦的神啊, 90天40万行代码

新闻链接: http://news.163.com/12/0604/11/835EHV450001124J.html

这个必须要记录 .

40万/90days=4K/day

每天代码量超过4K行! 这完全打破了我对软件工程, 对软件神人的一切看法. Bill, Linus等人与她相比, 也就是个P啊. 我军威武!

大家都是人, 怎么差距就这么大呢?! 虽然说现在码农越来越贱, 不过编程这种事多少还是需要一点思考的, 而我就算是每天打4K行字, 连续90天, 估计手也会抽筋吧. 看看人家神女! 仰慕之情悠然而生啊.

定时自动备份MySQL数据库

定时自动备份MySQL数据库

网上搜索的一些文章或者脚本, 在Ubuntu/Kubuntu中似乎都有这样或者那样的问题, 经过一番摸索后, 以下方式是可行的.

step1: 创建定时任务, 例如在早上1:30备份数据库. 编辑/etc/crontab文件, 添加内容:

30 1    * * *   root    sh  /home/yxh/cronDayBackupMySQL.sh

step2: 创建shell脚本cronDayBackupMySQL.sh. 要非常注意脚本中的标点符号(不得不说, shell脚本是怪折磨人的)

#!/bin/bash
currDateStr=`date +%Y%m%d`
mysqlBackFileName=mysql${currDateStr}
mysqldump -u root -p db_yxh --password=1234 | gzip > /var/backups/$mysqlBackFileName.sql.gz

其中, 数据库是db_yxh, 数据库root用户密码是1234, 备份的sql文件压缩存放在/var/backups目录下.

解压缩gz文件也很简单, 直接试用gzip即可:

gzip -d xxx.gz

 

基于HTML5的SIP客户端

基于HTML5的SIP客户端

项目名称是:sipml5,地址:http://code.google.com/p/sipml5/

该项目基于Google的WebRTC项目。这点与我以前写的一篇blog吻合,将SIP引入WebRTC不仅是可能,而且已经有人搞定了!

粗略地看了一下该项目的情况,界面是比较丑陋,不过看介绍应该是基本可用的。这是个好消息啊,尤其对企业用户而言,可能都不需要每个员工安装部署SIP终端,直接部署该终端即可,再结合云通信平台,整个系统都能简化不少。

如果该项目能覆盖Chrome, Firefox以及IE三个主要平台,基本就可以在实际环境中部署。非常让人期待啊。

修改button的宽度

修改button的宽度

缺省情况下,<button>根据button的内容自动调整自身的长度。然而在内容比较简短的情况下,我们有时希望button本身的长度要更灵活一些。常用的设置width属性的方法无法调整<button>的宽度,需要采用style属性进行调整,如下所示:

<button id="btnPrev" style="WIDTH: 6%"> < </button>
极其垃圾的D-Link产品

极其垃圾的D-Link产品

极烂无比的产品!极烂无比的技术支持!

在京东上购买了一款D-Link的无线路由器产品(带ADSL功能):DSL-2740EL(固件CN_2.10),想替换已有的TP-Link+ADSL拨号器,减少一个设备,想法很美好,过程很恶心,结果很郁闷。

替换后,能成功拨号上网。于是测试了一下公司的应用服务,噩梦开始了。

问题1:外网服务器(设置在美国)通過UDP5060端口向动态DNS的地址发包,没有收到。怀疑是网络问题,因此在服务器上抓包,发现已经发出了包。折騰了半天,未果。换回TP-Link+ADSL拨号器,内网计算机能成功接受到包。于是怀疑D-Link有问题,打技术咨询电话,答复一堆什么防火墙不对、端口映射不对、运营商过滤等等。我靠,根本就没防火墙好不好?! 端口映射不就一条虚拟服务器配置吗?!运营商怎么就不过滤TP-Link呢??扯了半天,最后转给一个所谓的开发人员,接着又相同的废话重新扯一遍。最后不了了之,没有答复。

最后外网服务器改成通过UDP6060端口发包,内网计算机居然就能收到包。这说明什么?这说明D-Link路由器内部肯定屏蔽了外网5060端口的数据包(推测可能因为5060是SIP标准端口,D-link屏蔽了该端口),或者该设备内部逻辑的确存在bug。又打电话过去,D-link人员就是不相信,又开始扯防火墙、运营商屏蔽、端口映射不对等废话。实在让人怀疑,他们可能不是技术有问题,而是听力有问题!

问题2:在问题1终于消停后,开始比较正式的应用。结果又出问题了。现在外网服务器能与内网计算机建立连接,开始正常工作。同一内网的其他计算机又不能通过动态DNS与该计算机建立连接了。用wireshark抓包,发现内网发给动态DNS对应的外部IP地址的包全部都返回“地址不可用”。也就是说,动态DNS对应的外部IP地址,只能在外部使用,不能被内部使用。这真是弱智!这样导致的结果就是:我们在外面工作时,要将应用地址改成动态DNS的域名,回到公司,又要改回内部IP地址进行访问。

不得已,又打电话过去,这次回答很干脆:不支持“端口回流”。我X!一个简单的路由而已,搞什么飞机,还“端口回流”,晕死!

吐血!不伺候了!换回TP-Link+ADSL,多一个设备就多一个设备吧,世界清静了!以后再也不采用D-Link的设备了,浪费了大量时间给他们作测试,还不讨好,悔死!

wine环境中字体平滑设置

wine环境中字体平滑设置

WINE中运行windows程序,发现字体都有锯齿,比较难看。google之后发现,设置注册表中的参数即可解决。运行regedit,然后修改以下值:

[HKEY_CURRENT_USER\Control Panel\Desktop]
"FontSmoothing"="2"

 

Kubuntu12.04中python的一点变化

Kubuntu12.04中python的一点变化

最新的12.04版本中,默认携带的python版本是2.7版本,并且在Ubuntu的库中不再提供2.6版本,因此如果使用了python2.6的开发库的程序,在新版本中必须要进行相应的调整。

比较简单的办法是做符号链接,例如:

sudo ln -s /usr/include/python2.7 /usr/include/python2.6
sudo ln -s /usr/lib/libpython2.7.a /usr/lib/libpython2.6.a
sudo ln -s /usr/lib/libpython2.7.so /usr/lib/libpython2.6.so

Linux中共享库的实现方式,虽然采用版本号能解决windows系统常见的DLL冲突问题,但是也不完美,遇到版本库升级,应用程序都必须要改动:要么改动配置文件或者源码,要么改动符号链接等。

对于python而言,由于可以分目录安装,并且共享库也带版本号区分,完全可以2.6和2.7共存,不知道ubuntu是出于什么考虑,去掉了对2.6的支持。

sqlite3记录的唯一标识

sqlite3记录的唯一标识

与Oracle类似,sqlite3提供了内置的ROWID项用于返回每条记录的ID。例如,下面的sql语句可以返回数据项及对应的ROWID:

select ROWID, groupID, description from tbl_hunting_group;

关于ROWID的细节信息,可以参考官方的说明文档:

http://www.sqlite.org/autoinc.html