| Fwolf's profile温暖的耗子窝BlogLists | Help |
|
10/26/2009 可恶,被 PHP-Mcrypt 的官方 Example 误导了在看 php 的 mcrypt 加密,想使用对称算法,解决小块内容(比如 url、post)网上传输的安全性。即加密、解密用同一个密码。官方文档有个非常完整的演示功能的例子,大概顺序是:
加密、解密放在了一个代码片段中,大概是想说,加、解密就那一句代码不同而已。 按照这个理解,为了使用方便,我把加、解密分解成了2个函数,内容都和例子差不多,不会有错。但一运行,不管用哪种加密算法,都会出现奇怪的解密后与原文不一致的错误。还不是完全不一致,后面大半段内容都是正确的,比如原文是包含 a-z 26个字母的字符串,运行结果如下:
好一通找原因,最后在支持算法列表页面中找到这么一句:The IV must be unique and must be the same when decrypting/encrypting.加、解密时所使用的 IV 必须相同。 昏,例子代码中 IV 是使用随机数生成的,分成2个函数之后,加、解密操作生成的 IV 肯定不一样,这就是解密失败的原因。mcrypt_create_iv() 函数文档页面的 user notes 中有位 Chris 还对 IV 纠正了一些错误观点。 综上,正确解密需要将 IV 与密文一同存储、传递。而我的需求比较简单,就没有必要这么作,反正 IV 也不需要保密,所以直接用 key 的 sha1 值的片断,比如前8位(与 git 版本号简写类似)作为 IV,对安全性影响不大,应该是可以接受的。 问题解决,收工,有和我一样吃过亏的同学么? Tags: crypt, encrypt, mcrypt, random, think, wrongRelated posts
9/28/2009 Flash 无法修改设置的问题
这个怪怪的问题也不是一天两天了,就是 flash 设置窗口,或者当 flash 游戏需要使用本地存储空间时,自动弹出的设置窗口,这个窗口无法用鼠标点击,用键盘 TAB 键能在各部分之间游荡但还是无法调整设置,基本上就卡死在这里了。 遇到这种情况,可以访问这个链接:http://www.macromedia.com/support/documentation/en/flashplayer/help/settings_manager07.html,注意链接中并不是图片,而是实际的设置调整组件。比如刚才说的访问本地资源需要确认的问题,在这里设置成 Ubuntu 9.04, Firefox 3.0.13, Flash Player 10.0 r32. 参考:Tags: flash, Problem, settingRelated posts8/18/2009 压缩网页图片不压不知道,一压下一条,大部分图片几乎都能在近似无损的情况下压缩到 65% 原始大小左右,如果指明有损压缩,比如 jpeg 的 85 %,还能更小。 Smush.itsmushit 现在已经属于 Yslow 的一部分了,可以通过 firefox 插件使用,也能在线用,缺点就是你的图片必须能够从公网访问。 可以压缩各种图片,按照官方的解释,它会尝试各种工具和算法,找到最优的方式。因此,smushit 是一种很安全的压缩工具,几乎看不到差别,就是用起来麻烦些。 imagemagick不同的图片格式有各自的特点,比如 gif 善于存储颜色较少的图片,也是动画图片的首选;png 善于存储能够矢量化的图片,jpg 则善于存储颜色、图片变化都比较多的图片。根据不同的图片特点,进行类型转换,有时能收到不错的效果。 图片 convert 之后,还可以利用其它工具进一步压缩,不过效果不大了。 另附一个转换图片类型之后,批量替换模板中调用文件名的脚本: grep logo.gif * -R | awk '{print $1}' | sed 's/://' | xargs -I '{}' sed -i 's/logo.gif/logo.jpg/' '{}' jpegoptim这是今天刚发现的好东西,ubuntu 源中有,主要可以用它去除 jpg 图片文件当中的 comment exif IPTC 等无用标记,我测试的情况压缩率比 smushit 略低一点点。由于能够通过命令行使用,所以易用性更强。 一般我喜欢用 遇到无法压缩的图片、压缩后体积反而增大的图片会自动跳过,很贴心。 基本上,有了上面三种方式,就能够处理大部分网页图片了。 Tags: compress, convert, gif, image, jpg, optimize, png, yslowRelated posts
8/4/2009 [Git]初学者注意事项实在是受不了有些人的 Git 提交,费大力气“回滚”,遂整理了这些刚开始用 git 或者还没有建立 scm 概念时容易犯的错误。 和源码无关的东西,尽量不要进仓库不得不说一些图形化软件,在提交内容的时候大多提供一个“全选”或者“Select All”功能,这是最不好的了,一些懒惰的同志看都不看就连瓢带碗都提交了。
尽量采用相对小、相对独立的提交Git 是作什么用的?Git 不是代码上传工具,也不是网站更新工具,而是软件开发过程的记录工具,为了更加准确的定位每个问题、每个功能修改,就需要在每完成一部分可以称得上是“一项”的工作时,就 commit 一次。哪怕只是修改了一两行,只要产生了必要的功能改变,就有价值记录。 当采用代码审核机制或者需要用邮件提交补丁时,较小的提交能够更有效、更容易、更准确的被检查和审核,这个在 linux kernel 开发文档中也有提到。 当然不能矫枉过正,必须有可记录的改变才有提交的价值。对应的,Git 日志大多数情况下主要显示第一行,控制每次提交都能用一句话简单概括,也是有必要的。 注释格式格式属于个人习惯和团队规范范围,有必要采用相对统一的风格。 Git 本身不允许空注释,同时建议注释的第一行写简要说明,下面留一行空行,再写详细说明。 我的个人习惯,喜欢在每条注释前面用大约三个字母来表示本次修改的性质:
为了保持语法通顺,也可以采用前三个字母后面加冒号,后面有啥写啥的方法。 最后,我觉得,能够遵守行业规范和团队约定,主动养成良好习惯,应当是鉴别人才的一项重要因素。 Tags: git, newbie, rule, Svn/Git, tipsRelated posts
8/2/2009 Windows安全更新KB951748可能导致dns无法解析很久没有鼓捣 windows 了,今天帮一个朋友修复他“不能上网”的问题,遇到了,记录于此。 首先遇到的是局域网 ip 设置问题,居然自己无法 ping 出去,别人却能 ping 通自己,怀疑是网络管理员作了什么设定,更改ip设置绕过。 然后就是 windows 里 dns 的怪问题了,具体表现为:用 nslookup 能够正常解析域名,直接 ping 域名却得到域名无法解析的错误。用 ip 地址可以直接打开网站,可输入域名却由于无法解析而打不开。 怀疑是 winsock 或者 lsp 的问题,尝试修复却未发现任何问题。 最终原因就是这个 windows 安全更新 KB951748,网上的说法是: 这个问题是microsoft把dns解析的本地端口改成了49152-65535,和visita一样(所以visita系统不受影响)。对于lns等 rules based firewall,只需要把dns rule的本地端口范围改成49152-65535就ok了(xp系统缺省是1024-5000)。 卸载之,一切恢复正常。 Tags: dns, Problem, windowsRelated posts7/4/2009 Curl奇怪的403错误自己用的小PHP应用,使用curl抓网页下来处理,为了穿墙方便,使用Privoxy作为代理,便于选择哪些网站使用proxy、哪些不用。但今天却遇到了奇怪的问题,访问google baidu这些网站居然都返回403错误,而访问其他的一些网站没事,如果设置为不使用proxy则都能正常访问。 难道google baidu就不让用proxy连接么?显然不可能,所以打开curl的信息输出(
可以看到proxy服务器工作正常,的确是baidu返回了403错误,但原因肯定还在我这边。终于,从网上(1of2, 2of2)得到了点启发──我使用的是proxytunnel而非proxy。 在代码中,有这么一句: curl_setopt($this->mSh, CURLOPT_HTTPPROXYTUNNEL, true); curl_setopt($this->mSh, CURLOPT_PROXY, $phost); php文档中没有详细说明,不过 禁用掉上面2行代码的第一句后,curl访问恢复正常。 比较奇怪的是,几种操作系统下还不一样,一台MAC OSX就要显式的禁用proxytunnel才可以,curl版本:
而另外一台ubuntu则完全不受影响,怎么都能用,curl版本:
MT主机上的centos也没事,curl版本:
看来不完全是curl版本问题,MAC OSX的确与众不同啊。 还有一个原因也会导致curl返回403错误,如果设置了: curl_setopt($ch, CURLOPT_NOBODY, true); 则需要紧跟着设置: curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET'); 不然会因为http服务器不允许 HEAD 命令而返回403错误。参考:Trouble with a cURL request in PHP。MAC OSX上curl之所以特殊,也不排除是这种原因吧。 Tags: 403, curl, error, http, PHP, proxy, tunnelRelated posts配置安全的共享web服务器(抛砖引玉)本文所讲的共享web服务器,并非共享文件的服务器,而是多人一起使用的web服务器,各有各自的网站、管理自己的文件,互不干涉,且对系统无影响。鉴于功力较浅,只敢对较信得过的朋友开放这种账号,本文涉及的范围也有限,所以安全漏洞可能还有,请诸位切勿直接用于生产环境。 服务器环境:Ubuntu 8.10, OpenSSH_5.1p1 Debian-3ubuntu1, Apache 2.2.9, PHP 5.2.6-2ubuntu4 登录 - SFTP传统的 FTP 肯定是不如这个安全,telnet 更不用说了。使用 SFTP 还有一个起始想法是想配置证书自动登录,后来发现 SFTP 客户端(FileZilla)没这功能,就没再作下去,命令行下 scp 的自动登录倒是 和 ssh 的一样很好配置。 网上很多文章介绍把 sftp 用户限制在 创建一个用户组,作为所有 sftp 用户的用户组:
创建用户,设置密码,并归入 sftp 组:
为了进一步增强安全性,还可以将用户的登录 shell 设置为
下来就要配置 sshd 了,编辑配置文件
然后在此配置文件末尾添加:
配置含义大概为:凡是 sftp 组的用户,关闭 X 转发,chroot 到 现在,重启 ssh 服务,用户就只能通过 sftp 访问 PS: 我发现 sshd 如果配置错误,在 restart 服务的时候会先检查,而不是直接 stop 服务然后在 start 的时候出现错误,搞得服务启不来。大概是考虑到很多人都是远程 ssh 上来进行维护,服务 down 了以后就麻烦了,很贴心的设置。 Apache & PHPApache 配置简单,创建 但有一个极大的安全隐患需要堵上,用户可以通过编写 PHP 程序,读取系统中任何 www-data 用户有权限访问的文件,包括系统的 shadow 文件,包括 其它用户的网站文件等等。解决这个问题,一种是开启 PHP 的 safe_mode ,安全模式下 PHP 将只能访问 owner 为自己(也就是 www-data)的文件;另外一种是使用 open_basedir,这将限制 PHP 只能打开某一目录树下的文件,并且不可能通过符号链接避开此限制。显然 safe_mode 的副作用太多,后一种方法更适合我的这种情况,配置写到 Apache 的 conf 里就行了:
注意open_basedir 后面的参数只代表文件路径的前缀,所以要带上末尾的斜杠,明确指出是目录。 不使用 safe_mode 的另外一个原因是在未来的 PHP6 里就要删掉它了。 缺点最大的缺点就是 sftp 用户无法自己更改密码,除非自己写个守护程序啥的。这个程序在写的时候要非常小心,因为操作的是系统用户文件,如果遗留有安全漏洞可能会使别人获得其它用户权限。一个折中的方法是写个程序,定期更改密码并通过邮件告知用户,虽不方便但安全性要好一些。 Tags: Apache, PHP, safe, security, sftp, sshRelated posts
5/18/2009 Ubuntu升级到9.04 Jaunty的变化和遇到的问题
如果在没有正式发布的时候就升级了,每天的更新比正式发布后要多得多,每天都要下载一大堆包升级,得考虑好,当然你也可以忍着不频繁升级。 Fluxbox任务栏上当前聚焦的窗口和其他窗口的风格是一样的,区分不开了,更换任何styles都无效。Firefox窗口的标题栏里中文字显示为方块先这个是Gnome的问题,所有窗口标题栏中包含中文时都是方块,而Fluxbox工具栏上是能够正确显示中文的。尝试更换不同的fluxbox styles发现 终于让我找到原因了,又是一个哭笑不得的问题,在我自定义风格里,使用了dejavusans这个字体,而这个字体现在好像在系统中找不到了,因此它就像出错后就不再往下执行了一样,导致后面overlay里定义的新字体也不生效,窗口栏上的中文就成方块了。换其他style之所以能正常显示窗口标题栏上的中文,是因为他们没用dejavusans这个字体。最后的解决方案,把这个自定义style里的dejavusans替换成dejavu -_-! 字体大小dpi优化字体DPI设置会根据显示器进行优化,而不再局限于默认的96DPI,还可以在System → Preferences → Appearance → Fonts → Details里自行定义。原来是在 我的Fluxbox还遇到了一个问题,屏幕尺寸、位置计算出现了错误,原先我是 $ xdpyinfo |grep resolution resolution: 78x78 dots per inch 78是显示器真正的dpi数,但按这个设置又显得字太小了。最后,把 上某些网站中文字模糊(像粗体字那样的模糊)打开 <edit name="antialias" mode="assign"><bool>true</bool></edit> 把true改成false后重启X即可。 Ctrl+Alt+Backspace关闭X的组合键被禁用了编辑 Section "ServerFlags" Option "DontZap" "no" EndSection Related posts
Mysql升级到5.1后库升级失败的问题一台 mysql 5.0 服务器,升级到 5.1 后,发现原来有个 database 名字变成了
原来这里面还有个 BUG ,刚刚修正过来,发行版中肯定还没有呢。幸好,从中得到了提示,因为 View 的存在导致库无法升级的,删掉所有视图后 UPGRADE 成功:
这台服务器还作了双向同步,我还得手工重置同步状态,又是麻烦一连串儿的事情,幸亏这次操作的是测试服务器,下次升级正式服务器之前,记得先把所有 View 删掉,升级完成后再重新创建。 另外 Related posts
4/23/2009 小巧的编辑器Geany我对PHP编辑器的要求不高,不过很多软件却不合我意: 首先,最好是免费的,所以挺好用的Zend Studio落选了。并且我发现似乎Zend Studio与ibus或者ubuntu jaunty有点冲突,有时候中文就出不来了。 其次,小巧,java的最好不要,所以Eclipse也落选了。 最后,最小功能集:语法高亮(废话)以及类函数列表(可以帮助我快速定位)。就这两项功能,淘汰了gedit(支持得不好)、vim(无法列出类函数)等工具。 当然,隐含要求,支持中文输入法,所以gphpedit也不能用,正好也不喜欢它的颜色高亮模式(色彩搭配)。 所以,选来选去,今天才算碰到一个比较满意的────Geany,ubuntu源中有,目前版本0.14,看来开发历史并不长。使用gtk2,操作流畅。除了类函数列表以外,还有一些贴心的小功能,比如自动补齐文件末尾的空行、保存时自动删除行尾空格等。 默认的,Geany的快捷键 可怜的gphpedit也是这种快捷键冲突,不过我没找到设置方法。 其实Geany不仅能够处理PHP文件,还能够编辑多种脚本文件,新建文件时有内置模板可选,能够自动生成文件头的copyright及GPL声明。 总之,到目前的感觉,挺好用的。 Tags: editor, gtk, PHP, ToolsRelated posts4/12/2009 控制ThinkPad的风扇 Link
我的旧本子X31风扇很久都不转了,今天查了点资料,搞了搞,感觉状态上好,记录如下: 首先要能了解当前温度和风扇转速,安装
按说lm-sensors也能控制风扇的,但对我的本子不适用。 然后就是在内核中挂载ThinkPad的高级电源控制模块,在
重启,或者手工重新挂载模块:
好了,控制风扇转速,最基本的方法是(如无意外,本文中的大部分命令都要用root用户操作):
[level]的取值可以是0-7之间的数字,或者auto,或者disengaged/full-speed,在不同的本子上会有不同的效果,总体来说数字越大转速越高,auto是系统自动判断,但在我的本子上却是不转,disengaged/full-speed是全速。我自己用的本子,设为4左右就能达到温度和噪音的平衡点。 还有人在这个基础上写了一些小工具,比如tp-fancontrol或者ThinkPad Fan Control,主要功能都是定时探测温度,然后安装预先的设定来控制风扇的转速。但由于不同硬件的差异,他们并不适用于所有情况,比如我的X31装上哪一个风扇都是auto不转,只好手工echo然后让风扇常转了。智能一点的,还可以借助cron来个定时开关、定时检测什么的。 参考Tags: acpi, fan, hardware, IBM, temperature, thinkpadRelated posts
3/29/2009 /bin/sh: root: not foundroot用户经常收到这样的错误邮件:
这个问题很简单,但也容易让人糊涂,先说原因吧,
而
注意, 这有什么好糊涂的呢,因为这两个文件很可能会一模一样,我就是这样,后来才发现他们的不同,不信用 现在, Related posts3/26/2009 VirtualBox的VRDP运行模式其实没什么深奥的,所谓VRDP运行模式,就是虚拟机运行的时候,没有图形窗口,但可以用VirtualBox的RDP模式远程管理,说是远程其实在本机上用很方便,用起来和windows下的远程桌面一样。如果虚拟机上安装了vncserver之类的远程控制软件,并且从主机上能够通过tcp访问,也一样可以管理的。 我使用的是非开源的VirtualBox,开源版本少一些功能。以下操作在windows下也是可以参照使用的。 启动VM的命令: 控制VM比如保存状态关闭的命令: 以上命令中 开启VRDP后远程控制端口默认是3389,默认认证方式是
不然认证无法进行,连接闪一下就关闭了。远程桌面的客户端在gnome中可以用 要想随重启或者关机自动关闭虚拟机,要稍微麻烦一些了,首先在
我也是直接从
可以看到开机时是最后执行,而关机时是最先执行。注意我上面的脚本里,在开机是并没有自动启动虚拟机,习惯手工开。 参考Tags: Linux, rc, shutdown, virtualbox, VRDPRelated posts3/23/2009 机房搬家过程中的几件趣事 Link
都是真事儿,先介绍现象,后面再说搞笑的原因。由于是搬家,目的地场地环境有一些变化,加上现在的机器上灰尘已经攒了好几年的了,所以每台机器都尽量拆开了、逐个零部件清洁,然后再装好开机检查,这一拆一装问题就来了。
其实啊,这些活儿虽然很辛苦,还真多亏了这些“奇妙”的故障原因,实乃枯燥工作过程中的小小点缀,我下面要说的原因,你都猜到了么?
还有一件我们研究了半天的事情,IBM机架服务器自带滑轨在前方除了有2个圆柱用于对入机架上的方形孔外,前面还有一个向下的小钩子,此时我们已将所有东西都拆了下来运到目的机房准备安装,恰好大家以前接触机架滑轨也少,也巧了机房现有服务器看了个遍滑轨全部都是用螺丝固定的,不像我们这个IBM滑轨只用卡件解决。最致命的是,滑轨前方的小钩比机柜上的方孔要宽,怎么也穿不过去,这样怎么才能把滑轨“钩”在机柜上固定啊?机柜是图腾的,滑轨是IBM的,按说都是符合标准的玩意儿,咋就不“兼容”了呢?研究了半天,一位聪明的小胖子终于发现,通过弹簧把2个圆柱压回去,空出的空间正常卡入机柜竖架,松开手弹簧自然把圆柱弹入机柜竖架上的方孔,这一端就固定完毕。至于那个向下的方形小钩子嘛,是在服务器装上、完全推入滑轨之后,“卡”得一声卡住服务器的,并非是要卡在机柜方孔中。可怜我们怀疑图腾和IBM不兼容老半天,就差打电话到他们公司去问了-_-!。 Tags: funny, hardware, IBM, install, power, ProblemRelated posts
3/13/2009 好玩有趣又有用的Mockups
见过flash游戏中,鼠标画个圆就是球,画个方块就能站住,画条线就能成跑道(这个很经典了,滑雪橇的游戏),也见过一个视频,老师讲课的时候画个斜块、小车、轮子就能够产生物理动作,看到Mockups以后,就也有类似的感觉,不过这个是用来设计软件界面的。 以前设计界面的时候用什么?想过但用的相对比较少,笨办法就是文字描述,左边放什么,右边上面放什么,右边下面放什么等等,高手会用ps画,只要不嫌累,还有画在纸、黑板上的,这些手段都有个共同的缺点────不方便管理和变更。现在不易管理、不可变更的工具用起来太累了,Mockups正是很好的解决了这个问题。 就像上面这张图片一样,在Mockups里,提供了很多用户界面设计元素,拖过来调整、搭配就能形成一张设计示意图,在设计阶段、持续变更阶段应该都是很好的表达工具,毕竟一图胜千言嘛。风格上是手绘的草稿风格,让人感觉和在纸上没区标,估计打印出来蒙人也没问题。技术实现上,依赖Adobe AIR环境,所以也是跨平台的。从图上也能看到,只要选中了菜单里的 缺点首先是没有我想像中的“手工画线”,毕竟直接画和使用预制物件的感觉和灵活性还是有区别;第二就是速度,2006年买的电脑用起来都不算十分流畅;第三就是技术平台,个人对AIR不感冒,当然这个也没得改了,呵呵。 Tags: AIR, design, graph, Tools, UIRelated poststeamol=WebCollab
如果你曾经在国内某个php源码下载网站下载过一个叫teamol的团队任务分配软件,不知你有没有注意到,它和国外开源项目WebCollab之间似乎有着亲密的联系。 本来我也没注意,可这个teamol下载回来以后安装颇不顺利,文档 开始安装以后有个地方卡壳了,还没安装数据库,就要从数据库里信息来验证用户是否有权限安装。hack安装之后,path配置也有问题,模板中还有一些错误,比如明明这段函数内没有 反正歪歪扭扭总算把程序配置得能运转了,开始试试,功能倒还有点让我满意的意思,除了日期选择的弹出窗口我极其不喜欢。然后我就发现了一件让我大跌眼镜的事情,这么一个错误百出或者说有点像半成品的“国产开源”作品,居然不仅有英、中文支持,还有一个看似排版比较成熟的英文帮助页面: 好奇的我挑了帮助页面中的一句话上G一搜,便找到了WebCollab。仔细比较下来,两者的目录结构也几乎一样: 结果应该不用我说了,也或许teamol的作者原想只是以webcollab为蓝本边学习边制作一个全新的系统吧,从注释中的版本0.1和修改过使用frame的页面框架中能够看出作者还是付出了些劳动的。 回到主题,用于小组内工作任务分配跟踪,倒是可以试试WebCollab,界面是简陋了点,基本的内容算是都有了。但这类软件,至今没找到一个特别好用的,包括很多在线的GTD或者项目管理系统。 Tags: GTD, opensource, PHP, webcollabRelated posts转换静态图像为视频需要把100+张大小不一的图片,转换为视频,上网查了些资料,关键词一般用
结果出来的影片每秒25帧,也就是切换每秒切换25张图片,120多张一共耗时4秒,没法看。把fps调整为1或者0.1之类的数,mencoder运行就出错。没办法,我想了一笨办法。 按照每秒25帧算,那么如果一张图片想显示2秒,那么就把它复制(用ln更快,别傻傻的cp)2×25=50份,比如001.jpg.001, 001.jpg.002…按照这种方法把图片都整到一个目录中,然后再使用上面那个命令就能够正常转换了。 不过,当图片大小不一的时候,还是会出现错误,比如这个:
mencoder转变源尺寸的东西我不熟悉,试了一些参数都不行,刚想放弃,从这里发现有images2mpg这个好东西。 images2mpg是在kipi-plugins这个包里(属于kde桌面下的插件),需要安装imagemagic等包,如果提示:
这是缺少包mjpegtools,如果提示找不到ogg123,那是缺少包vorbis-tools。images2mpg就是利用这些包完成图片转换、压缩视频等工作的一个脚本。可以这样用:
转换结果很贴心,图片自动都按长、短边缩放到了视频大小,空白的地方是黑色,淡入淡出效果也还能接受,就是转换速度有些慢。 有了这个素材,再进行添加声音、分段设置间隔时间等操作就都能够很简单的用mencoder完成了。附上一个视频片段合并,并且引入外部声音的例子:
不过这样声音在播放的时候会重复,如果合并完再加声音就没事了。 Tags: harddup, image, images2mpg, mencoderRelated posts升级到Ubuntu Intrepid后感觉到的一些变化第一,一台服务器,双网卡,配置两个ip地址,这两个ip地址同属一个网段,因此网关设置为相同。升级前一切正常,升级后只能让同网段的其它机器ping通,其它网段机器即使防火墙规则允许也ping不通,去掉其中一个ip地址的网关设置后就可以了。 第二是和mysql相关的怪怪的问题,以前mysql设置中都有一项:
升级后,一台P4 1.7 256M内存的机器insert数据正常,另外一台IBM x3650 双5160 3.0GHz cpu 4G内存机器的insert却极慢(10条数据要5秒),不光是比以前Feisty慢,比刚才那台P4机器都要慢很多倍。将此项值调整为2以后恢复正常,insert 1000条数据耗时0.25秒左右。P4机器也将此值调整为2后有改进,但不如x3650明显,insert 1000条数据耗时5秒多。 第三,登录后欢迎屏幕里的那个系统信息我很喜欢:
如果没有出现,把 Update @ 2009-01-13字体问题又出现了,网上有很多修改文泉驿字体的方法,我则是 如果不换Simsun,用网上的方法调整一下文泉驿字体的处理方式,倒是不乱,但字体略显模糊,还能接受。但其它X程序依然有时文字是乱的。查到可能是显卡驱动的问题,只能等待了? 另外注意一点, Update @ 2009-01-16旧IBM本本,raedon9000的显卡,fglrx不支持,所以卸掉 Update @ 2009-02-08如果安装nvidia显卡驱动时出现这样的错误:
可以试着用
可以看出是nvidia-glx-71没删干净,在这里手工清除就可以了:
Update @ 2009-02-09ati的驱动也出问题了,rv3??核心的显卡全不支持,比如我的
Firefox工具栏的自定义设置总是丢失的问题原因也找到了,可以暂时禁用TabMixPlus扩展,或者是禁用Ubuntu Firefox Modifications,我选择后者。 字体也有一点小问题,比如方正小标宋的“黑体”效果就没有了,重新刷新一下 Related postsIntrepid中的php-sybase凑合能用了以前说过Ubuntu升级到hardy之后,php-sybase没了,现在在intrepid里又有了,不过有些变化。 主要的原因好像是支持方式从以前的ctlib变成了dblib,其实是和mssql的支持作在一起了,所以现在没有了sybase_ct.so,并且如果使用了adodb(我新下载的版本是5.07),要修改
替换为
因为sybase_unbuffered_query只有在使用CT library时才能用。 另外一个小变化就是timestamp读出来以后的值变了,由于sybase内置的timestamp其实是varbinary类型,所以原来使用ctlib的时候读出来就是这样的:
Update @ 2009-03-01还是日期的问题,现在从数据库日期字段里取出来的数据多了个毫秒部分,比如 Related posts12/28/2008 Tiny Tiny Rss - 可惜不合我口味从open source php翻出来的,是一个web方式的RSS阅读器,可以架在自己的服务器上,把RSS下载下来慢慢看。 Tiny Tiny RSS的界面很精美,并且是全Ajax的界面,初看让我很兴奋,但仔细试用下来,还是不合我口味啊。 首先,当你把本页的内容都读完之后,比如设置显示了20项,它就自作主张的又给你下载了20项,依此类推,没完没了。或许很多人喜欢这种功能,但我习惯设置成显示全文(如果只显示标题的话,还要多点20下鼠标,更累),并且我知道浏览器如果一页显示内容过多的话(尤其是ajax这种js较多的页面),速度会很慢,所以习惯看完20项,再点一下某个位置,再调出20项来,操作也不麻烦,浏览速度也能有所保证。 第二,如何设置已读?如果你把RSS纯当做新闻看的话无所谓,但我是用它来收集我喜欢和感兴趣的内容的,不希望漏掉任何一篇,也不想某篇文章总是阴魂不散的显示在unread中。好了,Tiny Tiny RSS也支持两种设置已读的方式:自动和手动。先说手动,就是逐项选中,然后上面Ajax的菜单中有设置选中或所有的项为已读,但是,逐项选的话太累,全部设为已读呢。。。下面新出来的20条我还没读呢;再说自动,本来是很好的功能,但web和浏览器的效率绝对比不上单机软件,很难准确和完整的捕捉、处理鼠标的动作,所以有时候扫一眼就可以的文章,总是不能自动被设为已读,在网络情况不好的情况下显得更糟糕。还有,由此衍生的副产品────apache的log却在疯涨,就我单机试用基本上就攒下了1M的log,多半是这样的内容:
很多小的请求,数据包甚至还没产生的log字节数多呢,也难怪,滚动页面、点击页面都要处理是否要再拉些文章出来、是否设置已读、已读文章数是否要更改这些操作,服务器的负担应该是很重的。或许这是Ajax滥用的弱点吧,我的网络情况不太好,以前也差不多是由于这个原因弃用了google reader。这一点我觉得gregraius适合我,一点Mark These Items as Read,这20项铁定会设为已读,一个不会多一个不会少。 最后,还有一些细节上的瑕疵,比如哪儿也找不到看所有未读文章的地方,上面的Update有时候是变换显示的文章内容,有时候又成了更新feed,那个慢啊,我命名是后台在cron里更新的嘛;能自动分析出feed中原作者加的tag本是好事,不过这样一来tag太乱了,点一篇文章我自己改下tag吧,已保存就──biu──的一下没了;Select: All None等设置完全是仿gmail或google reader,但是rss reader毕竟和mail不一样啊,我个人更倾向于利用rss来作资料收集和管理,而不是看完就仍的报纸,毕竟互联网上不稳定因素太多了,好东西能在自己这里存个备份还是有用的。 话说回来,Tiny Tiny RSS还是很不错的,只是和我那蹩脚的习惯不搭配罢了,和Gregraius相比精细了很多,feed解析和格式处理也好很多,其他的管理方面,除了不支持plugin外都很好,还多了一个Gregraius缺少的重量级功能:多用户模式。不过,Gregraius已经被我调教得很好用了,还是暂时先不换吧,Tiny Tiny RSS毕竟也是刚刚开始,期待将来会发展得更好。 Update @ 2008-09-01在导入feed的时候两者都支持html tag过滤,不过Tiny Tiny RSS只有一个开关选项,而Gregraius不仅能设置允许那些tag,还能设置仅允许这些tag拥有哪些attribute,比如只允许 Related posts |
|
|