Skip to Content

Blogs

在Opera中去掉Windows Live Mail上那个大大的广告条

那广告条大得离谱,难看,又起不到什么作用,总是一样的Windows Live的Banner,也许这是MS在说此广告位待租吧。

在Opera中用user.css可以很容易去掉这个广告。首先随便建一个user.css,内容为
#RadAd_Banner {
    display: none; !important;
}
然后在Opera菜单中选View->Style->Manage Modes...->Display,在My style sheet下面的地址栏里填入你建的user.css文件的位置,最后点OK即可。

另外要说明的是,个人认为Windows Live Mail不好用,无论功能还是方便程度上都比GMail有很大差距,如果不是用来专收垃圾邮件,还是建议是用GMail(貌似QQ邮件也不错)。

一个列目录的php程序

做目录列表的PHP程序网上太多了,我写的这个也是基于别人的一个程序,外观基本上和原来的一模一样,不过里面的程序基本已经给我改得面目全非了。

这个列目录程序最大的特点是结合apache的.htaccess实现了虚拟目录的功能。这里有一个样例。直观上看,这是主机cnbits.co.cc下的ftp目录的列表,实际上,那个主机ftp目录下只有这个列表程序,真实的目录是_ftp_,可以在这里访问。

这样做的动机是为开放的ftp提供安全性。假设我把_ftp_目录作为一个公共ftp供大家随意上传,如果有人上传了一个恶意的php程序,因为这个主机也同时提供了从web界面访问_ftp_目录的功能,那么恶意程序就通过web界面被执行,整个主机也就陷于危险之中。使用.htaccess限制php的执行也不能解决问题,因为虚拟主机上,子目录的.htaccess可以覆盖上级目录的.htaccess的设置,导致安全性措施失效。

Emacs的TRAMP够强大

Emacs的TRAMP是用来访问scp/ssh/smb服务器上的文件,可以做到像读写本地文件一样编辑远程的文件。以下是我对TRAMP的配置。

CSS真是复杂

我想CSS设计者的初衷是做一个简单方便的网页风格描述语言,让不具备太多计算机程序设计知识的页面设计师来说也能轻松上手。理论上说,CSS也确实不复杂,但现实中浏览器开发者对CSS有着不同的诠释,这一下子让CSS变得非常难以驾驭。这并不是说CSS不能达到你的想要效果,而是想用尽可能简单而有具有维护性的CSS代码在多种浏览器上实现理想的效果相当的困难。这里有几篇与CSS相关的文章,提到了各种浏览器渲染的区别以及如何制作适应不同浏览器代码的技巧。

Drupal的短消息(privatemsg)模块

Drupal短消息(privatemsg)模块目前还处于开发阶段,功能比较弱,不错凑合用用也足够了。

我做了一个此模块的翻译po文件,其中只包含了用户界面的翻译,后台的就不管了。6.x-1.0-rc2版有一处字符串没有用t()标记出来,所以需要先用一下下面的补丁,据说此问题已经在下一个版本里解决了。还有另外一个问题,菜单里用的“Messages”不会被汉化为“短消息”,也是需要加一条t()来解决。

一个生成unified diff的php程序

就是patch的那种格式了,也就是用diff -u old.file new.file生成的文件差别信息。这里只有对比两个字符串的,对比两个文件的稍微改改就行了。php可以用现成的xdiff_string_diff一类的外置函数来处理,效率会比较高。但有些虚拟服务提供商可能没有提供此功能,这种情况下可以考虑使用这个程序。应用patch可以用PhpPatcher;生成可视化文件差异可以用Text_Diff

算法比较简单,就是一般的dynamic programming的LCS(longest common subsequence)。有很多可以优化的地方,比如开头和结尾相同的行去掉;用hash table把只在其中一个文件中出现的字符串去掉;字符串比较时先对比hash(估计php应该做了这方面的优化了吧)。当然,真的对速度有要求的话还是用上面说的xdiff的库比较好,那个实际是调用native library来完成的,纯php再优化也比不过了。

随手笔记

开发的话需要安装linux-header-2.6.19.1

启动时不能用参数psubdir=puppy400,否则save personal session files to a parition就不起作用了。只能去掉psubdir让initrd/init脚本自动去找.sfs文件的位置。

.pet中的pinstall.sh所使用的目录必须是./usr/local/bin这种形式,之前必须要有一个".",因为在unleashed环境中运行它时,它应该把修改写入rootfs-complete/目录,而不是/目录。

BarryK发布puppy linux 4.1.1

Barry Kauler于2008年11月3日中午发布puppy linux 4.1.1。相比puppy4.1,主要修复与改进有:

barry kauler 正式宣布退休,puppy4.1成为芭莉的绝响

10月2日上午7时,barry kauler在他的博客里正式宣布退休,puppy4.1正式版将成为barry主导开发的最后一个版本。
但barry表示他并不完全隐退,今后他将集中精力开发“UniPup”(一个puppy派生版本)。
接班的开发小组好象已基本敲定,但barry并未指明,细节方面将在协商后再行公布。

详见:
http://www.puppylinux.com/blog/?viewDetailed=00387

Amended retirement statement
Those who have tested 4.1rc may have noticed that the release notes have an amended "retirement" statement:
I have decided to bow out from my position as leader (also known as "Benevolent Dictator") of the Puppy Linux Project (held since I released v0.1 in mid-2003), and take a back seat. Version 4.1 is my final release as leader.

Puppy Linux 4.1RC于2008年9月25日晚上10时发布

从今年5月8日 Puppy Linux 4.00 发布后,Puppy Linux官方网站于9月10日和9月12日先后推出了puppy-4.1-beta(94MB)和puppy-4.1retro-beta(96MB),而今晚刚推出的puppy-4.1-rc,iso大小为94MB(另有适用于老硬件的puppy-4.1retro-RC,iso为95MB)。根据Barry Kauler Blog介绍,Puppy Linux 4.1正式版将于近日发布。
与Puppy 4.00相比,Puppy4.1修复了gparted、 Pschedule、Fireware等bug,并有如下主要改进与升级:
同步内容