分类 Tech Notes 中的文章

解决 mysql 中文乱码问题

老问题了,有很多解决办法,不过最简单的还是 在 /etc/my.cnf 里面的 client 段加上 init_connect=“set names ‘gbk’” 更具体的可以参考 http://ria.richtechmedia.com/?p=313 这个链接,说得蛮清楚的。……

阅读全文

Zoundry – 免费好用的 blog 客户端

用 WordPress 的可能最头疼的就是上载图片了。我不要求像 MSN Space 那样可以本地浏览并上载,好歹也像论坛那样,可以一边写一边选择插入图片并且生成图片 URL 吧。但是 WP 就是找不到一个好用的插件,基本都要先上载好,然后把图片 URL 手动拷贝过来,严重影响发帖心情。曾经想自己给 WordPress 写一个图片上载控件,但是写这个东西不难……

阅读全文

[历史备份]解决智能狂拼3输入i,u,v崩溃的bug

这个已经做完好久了,现在贴出来作为历史备份吧。 智能狂拼 3 是一个很不错的输入法,虽然是一种整句输入法,单词输入能力一样很棒,响应速度比 MSPY2003 更是好了无数倍。官方出了一个 30M 的版本可以免费使用,实在非常厚道。 但是他有一个很恶心的 bug, 就是在某些程序里面经常崩溃,fterm 之类挂接了默认 SEH 的还好……

阅读全文

ACE 的土鳖 bug 不能设置线程栈大小

发现用 ACE 写的多线程程序随便就占用了上百兆内存,查看 /proc//maps 发现有很多 10M 大的内存段,用 gdb attach 上去,p 一下 $esp 可以确定那些 10M 的内存段就是线程栈。这怎么可以,我用不到这多堆栈的。于是按照 ACE 的文档设定了线程栈大小,结果发现还是没有效果 @_@ 读了一下 ACE 的代码,发现原来是 ACE 的一个 bug, ACE 里面创建线程最后是通过……

阅读全文

TCP_DEFER_ACCEPT for Linux vs accept filter for FreeBSD, tux 还是玩不起来

Linux 提供的一个特殊 setsockopt , 在 accept 的 socket 上面,只有当实际收到了数据,才唤醒正在 accept 的进程,可以减少一些无聊的上下文切换。代码如下 val = 5; setsockopt(srv_socket->fd, SOL_TCP, TCP_DEFER_ACCEPT, &val, sizeof(val)) ; 里面 val 的单位是秒, 注意如果打开这个功能,kernel 在 val 秒之内还没有收到数据,不会继续唤醒进程,而是直接丢弃连接。 FreeBSD 有一个 accept filter 的机制,不过看起来更牛……

阅读全文

遇到了ext3 写延迟的问题

在一个 ext3 分区上面大量写,可能会阻塞其他盘 ext3 分区上面的读请求一段时间,最长可能阻到 1 秒左右。 不知道 2.6.11-mm 里面那个 reservation latency 的 patch 是不是就是修正这个的, 还没有做测试 anyway, 在数据安全性不是特别重要的地方,就用 ext2 也没什么不好的,不是吗?……

阅读全文

MSVCR80.DLL 里面的黑手& fick Microsoft

继续昨天关于 VC8 manifest 的话题 今天试验了一下果然不行。2000 之类不支持 winsxs 的系统都可以跑,xp 和 2k3 下面,都说没有正常设置,如果手动删掉 exe 里面的 manifest 的话,则是出个 assert, 说用不正常的方式 load dll google 了一下,找到了某德国牛人的文章 http://blog.kalmbachnet.de/ Using the VC 2005 shared CRT/MFC (DLL) without a manifest is not supported! If you build your app with VC2005 and you accidently have disabled the embedding of the manifest file (or deleted the separate appname.exe.manifest file),……

阅读全文

从gcc静态链接开始的讨论,学了好几手

昨天夜里某 bbs 上进行了一场关于 gcc 链接库的讨论,结果最后转移到了 Windows 下面 VC8 msvcr80.dll 的话题。。 事情的起因是这样的: 我想对某程序静态链接 libstdc++ ,但是动态链接 libc, 因为这个程序用到了 dlopen , 而 dlopen 是无法静态链接的。于是我问如何在 configure.in 里面找到 libstdc++.a 的具体路径,好加在 LDADD 里面 首先是 westline 师弟给出的解决方案 gcc -print-file-name=libstdc++.a , man 了一下,原来 gcc……

阅读全文

崩溃了,icc 9.0 在 FC4 上面无法使用ipo的解决办法

在网上面看到的。实在让人崩溃。。。 发信人: zuxy (Come May, come what may), 信区: LinuxApp 标 题: icc 9.0 在 FC4 下不能启用 ipo 的解决办法 发信站: 水木社区 (Mon Dec 5 21:38:25 2005), 站内 网上找来的,笨得要死但却有效 $su #cd /usr/lib #echo null > ( #echo null > AS_NEEDED #exit $……

阅读全文

用lighttpd的rewrite来做wordpress的permalink

WordPress 的 permallink 需要 apache 的支持,wordpress 会自动生成一个 .htaccess 文件来给 apache 加 rewrite 规则,但是 lighttpd 的 rewrite 规则格式和 apache 不一样,而且好像不支持 .htaccess. 需要手动转换一下。 WordPress 生成的 .htaccess 规则大概是 RewriteBase /wordpress/ RewriteRule ^.*$ index.php [S=47] RewriteRule ^feed/(feed|rdf|rss|rss2|atom)/?$ /wordpress/index.php?&feed=$1 [QSA,L] RewriteRule ^(feed|rdf|rss|rss2|atom)/?$ /wordpress/index.php?&feed=$1 [QSA,L] 这样的 lighttpd 需要的 rewrite 规则大概是 url.rewrite = ("^/wordpress/feed/(feed|rdf|rss|rss2|atom)/?$" => “/wordpress/index.php?&feed=$1”, “^/wordpress/(feed|rdf|rss|rss2|atom)/?$” => “/wordpress/index.php?&feed=$1”, “^/wordpress/page/?([0-9]{1,})/?$” => “/wordpress/index.php?&paged=$1” ) 这样的 内容和 Apache 的基本类似,就是把所有规则转换……

阅读全文