WordPress及插件不能自动升级的解决办法

WordPress提示你有插件需要更新的时候, 点击自动更新按钮, 但是会让你填写FTP信息.

这是因为Wordpress在判断权限时发生了问题, 它会判断/wp-admin/update.php这个文件的owner是不是当前的apache进程, 如果是就能更新(更新时还是需要相应文件夹和文件的权限), 如果不是就提示你输入FTP信息.

所以如果可能的话, 修改这个文件的owner为apache进程即可.

chown www-data.www-data ./wp-admin/update.php

Share
Posted in 编程 | Tagged , , | Leave a comment

家庭种植–鸡毛菜,香菜,打算,菊花等等等(2010/11/22更新)

老婆最近在逛篱笆的时候,看到有人在家里种花种菜,于是也想自己种这些东西。而我一直是绿色蔬菜的拥趸者,所以肯定大力支持啦。

这是买来的种子以及育苗块。左边起,分别是香菜,鸡毛菜,菊花,育苗块,郁金香种球(像洋葱一样的东西)。画面底部有个小瓶子里是天竺葵。

这是天竺葵的种子

这是贝加莫香柠檬薄荷,英系雏菊-哈巴内拉舞,英系雏菊-罗美尼特分红的种子

这是种下去的鸡毛菜(绿色框),大蒜(黄色盆)与香菜(粉红色盆)

由于育苗盒还没到,所以先把几个蔬菜种下了。种菜的土是以前养花时的土,花被养死了,我看土还不错,就拿来种菜了,哈哈。

第三天早上,发现鸡毛菜发芽了!!倔强的小嫩芽正在从土中钻出。

换个角度,再来张特写

第五天,鸡毛菜的菜苗已经长的很高了。

当时播种的时候,撒的不是很均匀,导致有个地方菜苗很集中,老婆就把他们拔出来,移植到稀疏的地方。还好,苗很小,只有一条根,移植起来很方便。

当天,发现香菜也出苗了。我还以为香菜活不成了,没想到出苗了,哈哈哈。

盆搞错了, 这是大蒜的盆. 而发芽的不是大蒜, 估计是播种的时候不小心掉进去一颗. 现在已经把这颗苗移植到另一个盆里了.

蔬菜种植就直播到这里,下面是花类的种植。

育苗块。最初像是一个压缩面膜,放到育苗盒里后,加水浸泡,就会慢慢变大。把种子塞到育苗块顶部的泥土里就行了。

这是都埋上种子之后的样子,为了便于区分,在盒盖上贴了标签。

今天的直播就到这里了,等种的花和菜变成另一番模样的时候再来记录一下。

2010/10/09更新:

这次是香菜发芽了

换个角度, 还是香菜苗

这个才是正宗的大蒜苗

各种花都发芽了

2010/11/22 更新:
最近一个月都不想更新, 主要是因为没什么新鲜的. 前面种的鸡毛菜们, 因为株距过小, 在其幼年时期就成了汤里的菜. 后来严格按照说明书上的株距种植, 渐渐长成了鸡毛菜的模样. 上图啦.
Photo & Video Sharing by SmugMug

这盆貌似是菊花, 品种忘记了

这盆是薄荷, 品种未知

这盆也是薄荷

香菜和蒜苗, 香菜怎么也长不高, 长不粗, 前两天一打开阳台门就闻到了香菜坏了的味道, 赶紧全拔光扔冰箱, 哈哈. 估计也是株距太小了.

香菜特写

已经吃了好几次的蒜苗们

Share
Posted in 生活 | 6 Comments

Wii手柄的辨别

刚好手里有两个Wii手柄, 一个肯定是高仿的, 另一个可能是原装(至少从目前网上的辨别教程中来看是真的).

拍的时候没能按照一定的规则摆放手柄, 所以可能左边是原装, 也可能右边是原装, 看的时候请注意图片上方的文字提示. 图片我做了链接到原图(每张大概4M, 有助于你更近距离的观察)

先来张正面照(左原装, 右高仿), 高仿的会带一层塑料膜

Continue reading

Share
Posted in 数码 | Tagged , , , | Leave a comment

几个网站状态监视工具

你怎么知道你的网站是不是down了? 用下面的这些在线监视工具就可以知道:

基本信息

站点 检查间隔时间(分钟)
SiteUptime 30
Site24x7 60
HostTracker 30
监控宝 15
mon.itor.us 30

测试

我注册了以上5个服务, 添加需要监视的站点.
接着我倒主机上让被监视的站点返回403错误(13:02).

结果

13:09 监控宝
13:14 HostTracker
13:18 SiteUptime
13:27 Site24x7
13:47 HostTracker, 站点如果一直down, 大概每隔30-50分钟, 都会收到HostTracker发来的邮件.
没收到mon.itor.us的邮件, 估计它认为403错误并不是主机down了, 只是权限问题吧.

Update: 我把站点错误设置为500后, 收到了mon.itor.us的邮件

mon.itor.us和Site24x7好像都是在半点的时候去验证网站并发送邮件的.

Update2: 当我把网站置为正常状态后(17点27分设置为正常状态), 结果如下:
17:30 Site24x7
17:32 mon.itor.us
17:42 监控宝
17:49 HostTracker
17:56 SiteUptime

Update3: 准备在9点37将网站置成500错误, 再次测试一下
9:58 SiteUptime
10:02 监控宝
10:03 mon.itor.us
10:05 HostTracker
10:34 Site24x7

Update4: 准备在11:15的时候将网站恢复
11:20 监控宝
11:28 SiteUptime
11:33 mon.itor.us
11:34 Site24x7
11:48 HostTracker

总结

总体来说这几个服务都不错.
再细致的总结就懒得做了.

Share
Posted in 互联网 | Tagged , , , | Leave a comment

投寒韩一票,TIME年度100

TIME杂志一年一度的最具影响力100人票选开始了,寒韩在榜,现在已经被网友无情 地顶到201个候选人的第12位。

在他前面,大多是女性,比如希拉里克林顿,沙拉佩林一类的政客,第一名是LadyGaga。虽然女士优先,我也很喜欢这些姑娘,但我觉得美国人民过得够幸福了,应该把最有影响力的位置让给我们苦难深重的中国人民一次。我们平时说话不方便,这次机会请让我们在世界最著名的刊物粗粗地喊一嗓子。

何况是寒韩。

何况我非常想看看,当他们看到寒韩当选世界年度最有影响力人物时的嘴脸。

何况投票过程特别简单,谁都能做到。

何况我还作了下面这个手把手投票指导指南。

一。首先,进入以下 这个网址

http://www.time.com/time/specials/packages/article/0,28804,1972075_1972078_1972568,00.html

二。看图 一

图一:这就是韩寒的页面。不知道谁选的照片,这是我目击过最丑的一张。不 过对中国人来说,哪张都一样,对外国人来说,也一样。反正他是要得第一的。

图二:请把目光和你的鼠标移动到这个位置。

图三:请用你的鼠标,把滑动条拉到100,意思是你认为这哥们儿拥有最大的影响力。最后统计数值会用大家投票的平均数。如果你看到图像和本图不一样,建议快换浏览器,推荐IE。

这一点非常重要,因为如果弄错了,以为拉到1代表第1名,那就好心办了坏事儿,降低了平均值。当然这也是个使坏的方法,比如友情提示一下,韩寒前面还有 几个人。。。不过我们完全可以光明正大的赢,你们觉得呢?

图四:填写注册码。然后点击SUBMIT,也就是提交。如果有任何问题,可能是浏览器引起的,请更换浏览器,推荐IE。

图五:成功。你看,现在的平均值是59,也就是说不少人选了1或者50,这 就是我为什么要这么手把手弄出这个教程,因为实在很容易好心办坏事儿。这也是为什么我恳求你,发动大家投票的时候,请附带这篇教程,不要自掘长城。

我不知道这个反复投票有没有意义,可能有,但是我认为最重要的是让更多的人去投,因为当我们胜利的时候,赢得就不是寒韩一个,我们都是历史的缔造者。投票的过程可 能比结果更重要。

希望大家把这一贴能传多广传多广,不用注明出处,拜谢。

每日战况0407

4月7日 韩寒 time战况,升至 第六,诸君努力。
传播到更多的网站或传播给更多的人,比自己反复点有意义的多,以韩 寒影响过的人口数量来讲,百分之一的人投一次,他就稳拿第一。

转载自: http://jayznb.ycool.com/post.4398676.html

Share
Posted in 其他 | Tagged , | 8 Comments

我换手机了,BlackBerry 8900,以及老婆的新手机HTC Hero

过了年,最终决定先给老婆换手机。

她那个诺基亚 7260早已属于古董机,再加上键盘也坏了,修了一次,撑不了几天。

老婆看上了HTC的Hero,这款手机也是我在《我的手机, 以及心目中的主流触摸屏手机》中比较喜欢的一款。

春节回来的第一个周末就去了火车站买到了Hero。价格比其他店里高一些,但配件应该都是原装的。值!


HTC Hero 手机全身照


手机头部


手机背面


摄像头


手机为数不多的几个按键和轨迹球


局部特写

看到老婆的新手机,我也很激动与羡慕。刚买好手机,老婆就说:我看你也打算买了吧!

被这么一说,于是某天晚上一激动,就决定第二个周末去买回来心仪已久的BlackBerry 8900。

为什么买这款呢?主要是觉得以前的手机太不稳定,正在上网,突然来电话,有时都能死机,造成漏接电话。而这次换手机就是想换个稳定的手机。

在以前的文章里提到的几款触摸屏手机,IPhone太贵,HTC Hero老婆已经买了,Palm Pre后来没关注过,BlackBerry Storm2貌似评价不高。

再加上不习惯没键盘的手机,所以就锁定了全键盘的BlackBerry。

在我能接受的价位里,有两款BB可以买,一个是8900,一个是9000。虽说型号只差了100,但是整体却各有利弊,价格相差在500左右。

8900小巧,内存256MB,不支持3G。

9000是个大块头,内存只有128,支持3G。

如何抉择是个大问题,在一阵google与论坛搜索后,最终决定要8900。3G对我来说,没什么优势,路上上网用EDGE也能接受,在公司和家里都有Wifi。

BB的价格差别很大,同样是8900,都号称全新,0通话,有1500的,有2700的。本着一分钱一分货的原则,加上Twitter上好友的推荐,觉得以2700左右的价格拿到8900,应该属于质量比较高的一种。付款之前,还要求卖家拆机看主板,确定屏蔽罩颜色正确,没有打孔,没有飞线后,才付的款。

我买的BB官方标配:一部手机,一个休眠套,一根数据线,一个线充,一副耳机,一块电池。商家又送了两张贴膜和一张2GB的Micro SD卡。


全身照


键盘部分


键盘特写,请忽略那些白色的灰尘……


手机后盖,可以看到拉丝纹理


手机右侧,依此为耳机插孔,音量调节键,右软键


手机左侧,只有一个左软键。依然请忽略那些白色的灰尘……


打开手机后盖后,可以清楚的看到电池,Sim卡,Micro SD卡

Share
Posted in 数码 | Tagged , , , , , | 14 Comments

介绍一款界面原型设计软件Balsamiq Mockups

给别人展示软件/网站功能的时候,如果仅用干枯的文字是没有感染力的。
如果用Photoshop做一套图出来又比较费时,因为需要画很多控件。
如果用纸和笔画图,效果应该是很好的,但是不利于以后的修改与保存。

在别人的介绍下,我找到了Balsamiq Mockups这款软件。

先说说它的优点:

  • 拥有独立的客户端和Web客户端,任何时候都可以方便的画线框图。
  • 跨平台支持:基于Adobe Air的程序,在Windows,Linux,Mac上都能很好的运行
  • 支持中文
  • 内置的控件很多

再来说说它的缺点:

  • 基于Air的程序,某些时候反应比较慢。尤其是拖动一个元素松开鼠标后,都要顿一下。
  • 没有中文界面。当然这对于很多人来说也不是问题。
  • 缺少一些常用控件,如分页等。

下面是我用这款软件画的线框图。点击查看原图。


首页


作品列表页


详细页

Balsamiq Mockups是收费软件,下载地址是http://www.balsamiq.com/products/mockups
对于这款软件,价格是$79,但如果在技术Blog上写一篇宣传文章,即可以免费获得这款软件。
对于公司来说$79根本不成问题,个人使用的话,还是写一篇介绍文章吧。

Share
Posted in 软件 | Tagged , , , , , | 1 Comment

PHP substr 截取 UTF8字符串乱码的解决

PHP的substr方法可以按照字节来截取字符串, 对于英文来说是没问题的. 因为一个英文字符只占一个字节.
但是对于截取UTF8编码的中文就会存在问题.
比如:
var $str = ‘我爱twitter哈哈’;
echo substr($str, 0, 1);
就会出现一个乱字符, 因为在php中, utf8编码的中文是占3个字节, 单单只取一个字节肯定是不行啦.
如果: echo substr($str, 0, 3)就会出现”我”
echo substr($str, 0, 9) 会出现”我爱twi”

在中英文混排的时候, 这个函数就显得无能为力了.

google了一下, 发现很多人写了替代方法, 比如自己去实现一个substr, 里面写循环.
这样肯定效率低下, 直接用substr的复杂度是1, 而自己写循环, 复杂度就是n了.

后来找到了Wikipedia的条目, 发现原来3字节的utf8编码是有规律的.
一个非英文字符的3-bytes utf8 编码, 总是以224-239之间的char code开头的, 这就好办了.
思路是这样的:
先用substr截取, 判断截取结果的最后一位是不是在224-239之间, 如果是, 就说明目前取到了3-byte utf8编码的第一位, 那么只需要把计划截取的长度-1即可.
如果截取结果的最后一位之前一位在224-239之间, 就说明目前取到了3-byte utf8编码的第二位, 只需要将计划截取的长度-2即可.

下面是代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
function csubstr($string, $beginIndex, $length){
    if(strlen($string) < $length){
        return substr($string, $beginIndex);
    }
 
    $char = ord($string[$beginIndex + $length - 1]);
    if($char >= 224 && $char <= 239){
        $str = substr($string, $beginIndex, $length - 1);
        return $str;
    }
 
    $char = ord($string[$beginIndex + $length - 2]);
    if($char >= 224 && $char <= 239){
        $str = substr($string, $beginIndex, $length - 2);
        return $str;
    }
 
    return substr($string, $beginIndex, $length);
}
Share
Posted in 编程 | Tagged , | 4 Comments

How to: Implement Dynamic Route in CakePHP

I’ve found a method to implement Dynamic Route in CakePHP.
If we develop a CMS program using CakePHP, we often let people to define their menu code. The menu code basically is the URL path.
For example: An admin create a menu named ‘Milk Product’, and give this menu a code ‘product’.
He wish to access this menu via /product

So we can add a static route in routes.php
Router::connect(‘/product’, array(‘controller’ => ‘product’, ‘action’ => ‘index’));

But one day, he want to change the menu code from ‘product’ to ‘milkproduct’? What to do then? Ask the site admin to edit the routes.php? Of course not.

We can use the code below to resolve this problem.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
$menus = '';
Cache::delete('routemenus');
if($menus = Cache::read('routemenus') === false){
    echo 'load from db';
    $menusModel = ClassRegistry::init('Menu');
    $menus = $menusModel->find('all', array('conditions' => array('parent_id' => '1')));
    Cache::write('routemenus', $menus);
}
 
foreach($menus as $menuitem){
    Router::connect('/' . $menuitem['Menu']['code'] . '/:action/*', array('controller' => $menuitem['MenuType']['code'], 'action' => 'index'));
}
 
Router::connect('/', array('controller' => 'homepage', 'action' => 'index'));

We have 2 menu related tables: menus and menu_types.
Their structure as belows:

menus
    id
    menu_type_id
    parent_id
    lft
    rght
    code
    name
    created
    modified

menu_types
    id
    code
    name
    created
    modified

The code in menu_types means the controller name, and the code in menus means the path.

Share
Posted in 编程 | Tagged , , , | 2 Comments

我的手机, 以及心目中的主流触摸屏手机

我的手机是07年12月买的, 水货Nokia E70. 当时用的手机是Siemens 2128, 由于没用过智能机, 对智能机也不是很了解, 只是知道它可以安装软件. 于是就选择了带有全键盘的E70.

但是随着使用上的深入, 我发现这个手机有很多问题:

  • CPU速度低, 对整个机器影响最大. 看条短信都需要5-10秒钟的时间. 运行Gmail的手机客户端都比较慢, 刷新邮件列表也是.
  • 可用内存小, 在我做优化后, 开机内存为19M, 但是运行了一段时间后, 可用内存就变到10M左右. 10M的内存一般只能开一个程序, 要听音乐就不能用Opera. 更别提一边Opera, 一边MSN了.
  • 系统不稳定. 因为系统不稳定, 所以我从2.0中文版升级到了3.0英文版, 没想到3.0比2.0还不稳定. 有时死机, 有时重启. 有时来个电话都能死机.
  • 手机屏幕小, 虽然分辨率到了352*416, 但是2.2寸的屏幕实在是太小, 看起来比较费劲.

我平时用手机主要做以下事情:

  • 浏览网页, 主要用Opera Mini
  • 上MSN, QQ, 飞信, Skype
  • 收发邮件, 用自带的邮件软件和Gmail客户端
  • Twitter, 用Gravity
  • 听音乐,用 OggPlayer
  • 拍照
  • 地图, 定位, 用Google Map
  • 看书, 用掌上书院
  • SSH, 用Putty

如果我的手机屏幕大, 并且性能高, 我应该会做以下的事情:

  • 视频播放, 以前看过, 但是屏幕小, 看起来不舒服
  • 股票, 只是一个计划中的功能, 还没涉及这一块
  • 游戏, 没怎么装过, 而且感觉用那易坏的摇杆玩游戏, 我很心疼

下面说说我心目中的理想手机应该是什么样的:

  • 原生上网能力(能通过GPRS和3G上网)
  • 支持Wifi
  • 能浏览网页, 最起码能支持大多数的网页. 如果能对Javascript提供完整的原生支持就更好了. 最好能支持Ajax.
  • 要有一个好的邮件客户端
  • 能上MSN, QQ, 飞信, Skype
  • 大屏幕, 高分辨率
  • CPU起码500MHz以上
  • 足够的可用内存, 不会因为某个软件内存泄漏而造成内存不足. 起码开机后要有60M以上的内存吧. 我朋友的N83开机后有96M的可用内存.
  • 可以安装的软件多, 社区活跃
  • 能和Google同步联系人, 日历等
  • 音乐, 视频播放能力. 最好能支持FLAC, APE等格式的音乐, 以及高分辨率(相对手机屏幕来说)电影播放能力
  • 摄像头, 起码自动对焦3M像素吧
  • 能同时运行多个程序, 让我很流畅的一边看网页一边听音乐, 还能时不时的MSN或者QQ一下
  • 大内置闪存, 内置闪存肯定比外插的TF卡要快, 而且省电
  • 支持多点触摸的触摸屏

下面是最好能拥有的功能:

  • 最好能插存储卡, 方便扩容
  • 最好是Linux系统
  • 最好能支持在手机里用gcc编译软件, 这样一些常用的Linux软件就可以移植到手机里了
  • 最好能有3.5mm耳机插孔
  • 最好能方便的开发手机程序
  • 最好能有实体键盘
  • 最好能支持3d游戏

目前我看上的手机分别是:

  • Apple iPhone 3G/3Gs
  • HTC Hero
  • HTC Magic
  • Palm Pre

请看我总结的表格<<我心中的主流触摸屏手机比较>>

以上几款手机各有长短:

iPhone两款主要是价格高, 但是功能非常全面. 如果抛开价格因素, 肯定是首选.

Pre价格适中, 操作系统是全新的. 可以很方便的开发Pre程序, 纯粹作为上网手机/商务手机来说是个非常好的选择. 但是目前的系统不支持3d游戏, 不支持java程序, 这样可用的软件就非常少. 而且CDMA2000的手机需要烧号, 比较麻烦. 期待其GSM版的推出.

Hero和Magic都是用的Android系统, 硬件配置基本相同. Magic刷Hero的Rom, 可以实现Hero一样的多点触摸功能和HTC Sense界面.

以我目前的情况来看, 如果Pre近几年不会支持Java, 不支持3d游戏, 那么我就会买Hero或Magic. 否则的话Pre是首选.

Hero和Magic硬件配置基本相同, 唯一一个硬伤是Magic没有3.5mm耳机插孔. 不过两者相差1000块, Magic的性价比还是很高的.

Share
Posted in 数码 | Tagged , , , , , , , , , , , | 8 Comments