浏览模式: 标准 | 列表
1月
29

WordPress 插件——CoolCode

CoolCode 是一个基于 PEAR Text_Highlighter 的代码加亮插件。CoolCode 有以下特征:

  • 具有直接以文件形式下载源代码的功能。
  • 具有选择是否显示行号功能,在行号显示模式下还可以通过双击代码来隐藏或显示行号。
  • 大小自适应的代码窗口。
  • 具有美观的代码样式。
  • 可以方便的将彩色代码复制到 Word 之类的 Rich Text 编辑器中。
  • 定义了 XML 和 BBCode 两种语法的 coolcode 标签。
  • 对多种语言都有加亮支持。

2007年1月29日 更新

修正了 CoolCode 在 WordPress 2.1 上引起的导出错误。

» 阅读全文

今天是跟老婆结婚后,给老婆过的第一个生日。

早上一到办公室就发现几天前托领导买的蓝牙耳机到了。是 nokia BH-803,非常小巧,不过貌似是个赝品,因为说明书是 BH-802 的说明书,害得我弄了一天,都没能切换到配对模式,上网查,发现耳机上的耳挂样子也不对,网上的图片都是黑色金属的,我那个居然是塑料的。差一点就让领导拿去退货了,不过领导就是领导,拿过去没几分钟居然就把配对模式调出来了。原来确实是说明书有问题,说明书上说要同时按住音量增大和接听电话键 5 秒钟,而实际的操作应该是只按住音量增大键 5 秒钟就可以了,按照说明书上的方法我再调一辈子也调不出来啊。

既然能用了,也就不在乎是不是真的啦,跟我的 577w 配对之后,打电话没有问题了,效果也很好。可是 mobile media player 播放音乐在耳机中没有声音,还是手机本身发声,以为上当受骗了,上网一搜,发现还需要一个 BlueTunes 的软件,下载以后,把 BlueTunes.exe 放到手机上启动后,也显示 enabled 了。再打开 media player 播放,还是老样子耳机不响手机响,再搜索,发现原来还要按下接听键才能把声音输出到耳机上,一试果然好使,而且其它播放器和任何软件发出的声音都转到耳机里来了。真是太棒了!最棒的是,这个不需要 A2DP 支持,老婆的 585 也可以用啦。

回家后,把这个蓝牙耳机送给了老婆作为生日礼物,并且帮她把耳机和手机配好了对,装好了 BlueTunes,老婆很开心^v^!

老婆开心,我也开心,于是晚上就把网站升级到 WordPress 2.1 了,一点毛病都没有,哈哈。可视化编辑器也好用多了。

» 阅读全文

http://www.hedgerwow.com/360/dhtml/text-overflow.php 找到的好东西,这个是兼容 IE 和 Firefox 的,稍加修改,就兼容 Opera 了。现在已经应用到 extmail 中了,效果很不错。

下载:text-overflow.zip

» 阅读全文

1月
15

对付 MySQL 的死连接

最近几天,学校的 MySQL 数据库总是出现许多死连接的情况,主要表现为有过多的 Sleep 连接,并且 Time 时间很长,占满了所有的可用连接数,以至于其它用户无法再连接数据库。我开始考虑调节 MySQL 数据库参数,但是改了许多参数仍然没有解决这个问题。于是想了一个比较狠的办法,写一个 php 脚本,每 2 分钟执行一次,发现死连接(超过 120 秒)就 Kill 掉,这样再也不会让某些程序搞死数据库服务器了,下面是 Kill 死连接的小程序:

kill-mysql-sleep-proc.php
<?php
define('MAX_SLEEP_TIME', 120);
 
$hostname = "localhost";
$username = "root";
$password = "password";
 
$connect = mysql_connect($hostname, $username, $password);
$result = mysql_query("SHOW PROCESSLIST", $connect);
while ($proc = mysql_fetch_assoc($result)) {
    
if ($proc["Command"] == "Sleep" && $proc["Time"] > MAX_SLEEP_TIME) {
        @
mysql_query("KILL " . $proc["Id"], $connect);
    
}
}
mysql_close($connect);
?>

将它当中的 $password 改成你实际的数据库密码,死连接的时间也可以修改。然后加入计划任务就可以了。比如用 crontab -e 命令加入:

*/2 * * * * php /usr/local/sbin/kill-mysql-sleep-proc.php

就可以每隔 2 分钟检查并清除一次数据库中的死连接了。

» 阅读全文

最近管理邮件系统时发现几个问题,一个是有些用户设置了转发,但是转发地址有问题,经常因为退信而塞爆邮箱(有邮箱限额),之后的邮件都会被塞到等待队列里。还有就是有许多寄到本地虚拟域的信没有对应的用户,按说 Postfix 应该不会投递这类邮件,但是实际情况是它交给 maildrop 投递,而 maildrop 发现没有该用户,报告指定用户非法,这时正确的动作应该是退信,不过可能是我用的版本太低,maildrop 没有退信,而是把它放到等待队列里等待下次再试。这样等待队列里经常会有大量的这种邮件。所以,要想办法把这些邮件都清除掉。

在《Postfix 权威指南》里有一个叫 pfdel 的 Perl 小程序,可以用它删除指定邮件地址的邮件(不管是发信人还是收信人的邮件地址),这个虽然方便,但是如果想要清除因为 maildir over quota 或者 Invalid user specified 错误而产生的邮件,还需要修改一下。下面是这四个程序:


  • pfdel.pl
  • luserdel.pl
  • moqdel.pl
  • jmoqdel.pl

 

其中,pfdel.pl 是用来删除队列中指定用户的邮件的,luserdel.pl 是用来删除队列中无效用户的邮件的,moqdel.pl 是用来删除队列中邮箱配额已满的用户的邮件的,jmoqdel.pl 是删除邮箱配额已满的用户的垃圾邮件箱的。

我现在把 luserdel.pl 放到 crontab 里,每天晚上清理一次,终于可以高枕无忧了。

» 阅读全文