enjoy coding, enjoy life.

Code

数独问题的解决

前些日子,有人网上说解决了什么最难数独什么的,然后下面一片欢呼 -- 我看了下所谓题目,无非一个普通的9*9的小题目而已,机器完全可以轻松遍历。 感觉很不可思议 -- 在这种信息时代,计算机能轻松遍历的东西,就不算什么难题,让人闲暇时候玩玩就算了,拿来当作学术成就什么来炫耀,实在有些。。。坐什么观什么了。

Code

一个bug的fix记录:跨文件的追踪

某个C文件又添加一个新的头文件,rebuild这个工程,结果此C文件报错。

Bash
src/xxxx.c: In function ‘foo’:
src/xxxx.c:27:1: error: parameter ‘some_pp’ is initialized
src/xxxx.c:27:1: warning: initialization from incompatible pointer type [enabled by default]

Code

sqlite3 的转义

sqlite 关于 string 类型的数据需要转义。

通过查找规则,可以很容易通过switch拼装一个字符串来搞定。 大致规则是,单引号和双引号要变成两个,其他特殊字符为前面加上'/'。

Code

fix记录:注意返回值

sqlite3使用sqlite3_exec,原型如下:

C
int sqlite3_exec(
	sqlite3*,                                  /* An open database */
	const char *sql,                           /* SQL to be evaluated */
	int (*callback)(void*,int,char**,char**),  /* Callback function */
	void *,                                    /* 1st argument to callback */
	char **errmsg                              /* Error msg written here */
);

其中有个参数是callback类型的。查询到的数据放在callback中处理。

Code

评论框添加 Ctrl+Enter 即发送

这东西可以通过修改 theme 的 comment.php (路径: Appearance->Editor->Comments(或者其他类似的))来达到目标。

基本原理是这篇文字的内容。

问题是,现在 WP 的评论框非常之省事:

Code

隐藏 gedit 的 debug 信息

linux下编辑文件,常用的有vi/vim,emacs,还有gedit -- 当然,还有谁有其他各种喜好。 emacs,vi什么的自然是控制台下搞,干干净净。 但是到了gedit的时候,因为是X display ,所以控制台方面就各种肆无忌惮的放warning。

因为是写代码么,所以常常是shell跑到某个位置,然后vi/emacs/gedit一个命令打开文件,开始编辑。

Life

Machine Learning and AI via Brain simulations

Andrew Ng是机器学习领域的大牛,Stanford University的教授。我居然看到活人了!!

下午,实验室的彪同学把我撸了出去,说有大牛来作报告,下午三点半。快点去占座。

看了下时间,两点半,急个蛋。

一直窝在实验室的我不知道是哪只牛来了,也不知道是啥报告,彪同学说大数据,机器学习之类的东西。专业对口,管他是谁,反正是黄牛奶牛都可以吃。

Code

做个插入维基词条的插件

常常使用到各种术语什么的,一个一个解释,其实也就是copy Wikipedia词条上的东西,费时费力不讨好,还不如直接挂个链接完事,但是每次添加链接都是个悲剧的事情,各种数据添加的人都要疯掉了。

Code

Linux下怎样禁掉一个用户

这篇小文是讲述在Linux下怎样禁用一个用户的。当你不想永久的移除一个用户,而只是想要让它被禁止,而无法使用此用户登录使用系统的时候,下文可能对你有些用处。这个用户仍然可以做一些事情--比如邮箱自动收到邮件,但他将不能用他的账户登录、接收邮件。

现代linux系统使用/etc/shadow来保存被加密的用户口令,最快的,禁用某个用户的办法是修改在/etc/shadow中保存的口令。一般情况下,一个活动的用户账户在/etc/shadow中可能是像下面这样的: