赖床呓语
- 2015年08月12日
节节赖床十分钟时,梦里飘过几句,忙忙醒来拿手机记下。又赖得片刻,果然忘干净了。翻出手机来看,噢……曾经有人事先备纸笔记录吸毒冥思幻象,得佳句曰:“香蕉很大,香蕉皮更大”,殆与此歪诗相类。
听春过小桥,群莺来复去。
零零水上花,莫得韶光住。
节节赖床十分钟时,梦里飘过几句,忙忙醒来拿手机记下。又赖得片刻,果然忘干净了。翻出手机来看,噢……曾经有人事先备纸笔记录吸毒冥思幻象,得佳句曰:“香蕉很大,香蕉皮更大”,殆与此歪诗相类。
听春过小桥,群莺来复去。
零零水上花,莫得韶光住。
路边看到开着五瓣黄花、结着豆荚的半乔半灌木,查查疑似黄槐决明(Senna surattensis或Cassia surattensis),维基英文说Senna和Cassia两个属到现在还是分不清楚,中文没有词条。百度垃圾则在黄花槐(Sophora xanthantha)下扰乱视听地贴了一堆黄槐决明的图片。
最终判断参考中国植物物种信息数据库。
这篇博文里涉及两个问题。一是Mediawiki显示空白,二是在托管共享服务器上关掉自己PHP环境里的magic quotes。
对于第一个问题,我找到了原因但是没在上面费时间;解决了第二个问题,第一个问题也就N/A了。
先说事情的缘起。最近发现我那个自用小Wiki出状况了,所有页面都显示空白正文,只剩标题和Wiki标准界面菜单。
如果点“编辑”,就能在编辑框里看到正文。做一些改动再打开,可以看到词条内容确实被改动过。这是个很好的信号,说明数据库里的内容都还在,而且存取都没问题,只是后续的处理和显示出错了。
大致搜了一下网上内容,有遇到完全相同症状的,说是PHP的PCRE版本升级了,而低版本的Mediawiki代码会出错。方案是降级PCRE或者升级Mediawiki。
降级PCRE是不可能的了,Mediawiki早该升级了。
那就升吧。
做到第六步时报错了,说新版Mediawiki不能在magic_quotes_gpc打开的情况下运行,让我关掉。
magic_quotes_gpc是PHP_INI_PERDIR级别的,不能够被程序软关,就是说在LocalSettings.php里调用ini_set没用,必须在类似php.ini这类系统级设置里硬关。
可系统不是我一个人的,我只能局部定制。
直接在.htaccess里写
php_flag magic_quotes_gpc Off
刷,产生“500 Internal Server Error”错误。据说如果PHP在Apache上不是以Module运行,则会看到这个错误号。这条路走不通了,再来。
写个PHP脚本,只有一句话:phpinfo(); 上传运行。阅读phpinfo()的输出,找到PHP初始设置都用了哪些.ini文件。
再写个PHP脚本,只有一句话readfile($_GET[file]); 上传运行,把.ini文件一个个读出内容来,拼接成一个php.ini,在文件末尾附上
magic_quotes_gpc = Off
在.htaccess里放一句
SetEnv PHPRC 新php.ini全路径名
上传,再刷,没关掉……
几乎山穷水尽时留意到了phpinfo输出的这一栏:
user_ini.filename .user.ini
对啊,PHP_INI_PERDIR的说明里也提到了.user.ini,我早该用这个最省力的方法。
创建一个.user.ini文件,把“magic_quotes_gpc = Off”写到里面,上传到Wiki主目录下。再刷,呼,终于行了。
三年前往博客里添加了一个微博分享按钮,最近发现微博分享方式有WBML新版了,于是按照微博介绍的WBML界面重写了这段代码。
先贴代码。新版的添加微博分享按钮的方法:编辑正在使用的monochrome族主题(其它主题可能要微调)的header.php,做两个改动:
一、在<html>标签后增加wb命名空间:
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:wb="http://open.weibo.com/wb">
二、在</head>之前加入以下代码:
<script src="http://tjs.sjs.sinajs.cn/open/api/js/wb.js" type="text/javascript" charset="utf-8"></script> <script type="text/javascript"> jQuery(function(){ // window.setTimeout(function() { // Make it asynchronous if using the iframe mode. jQuery('div.post').each(function() { var url = jQuery(this).find('h2.post_title > a').first().attr('href'); if (typeof(url) == 'undefined') { url = location.href; } var titlestr = jQuery(this).find('.post_title').text() + ': ' + jQuery(this).find('p').not('.wp-caption-text').text(); titlestr = titlestr.replace(/\s\s+/g, ' ').substr(0, 110); var buttonstr = '<div style="width:95%;text-align:right;margin-top:-40px;margin-bottom:40px;">'; var param = { url:url, type:'button', addition:'number', picture_search:'true', title:titlestr, ralateUid:'1691250947' // 关联用户的微博用户号码 }; var temp = []; for(var p in param) { temp.push(p + '="' + encodeURIComponent(param[p] || '') + '"'); } buttonstr += '<wb:share-button ' + temp.join(' ') + '></wb:share-button>'; buttonstr += '</div>'; jQuery(this).find('div.post_content').first().after(buttonstr); }); // jQuery.div.post.each // }, 5000); // window.setTimeout }); </script>
第一次重写后,IE不稳定地显示按钮、Firefox完全不行(IE竟然胜出,奇迹)。调试发现和一年前的一次优化有关。当时我把分享按钮的JS代码改为异步(橙色代码,页面加载完毕5秒后)运行,而此定时器似与WBML版按钮冲突。
之所以怀疑这个定时器,是因为观察了博客右边栏放置的静态代码“微博关注”按钮。我留意到它总能显示,并且当整个页面加载完毕、网页闲下来时才开始运作。猜想渣浪也发现这些按钮很耗时,于是也在按钮里内置定时器,把我这些外层的定时器顶得不干活了。
另注:渣浪程序员把“关联用户”的设置参数命名为ralateUid,嗯,从上一版延续至今以后也一直会继续错下去的拼写,厚道地猜想这是为了防鹅防寨故意拼错的。另外,微博文档里说抓图选项是searchPic,而快捷设置页里则可以看到是picture_search。我测试之后得知,picture_search是有效参数。
冥王星和卡戎·图片来自NASA
今天的关注焦点是新视野号(New Horizons)飞掠冥王星。
NASA公布的飞掠时间是世界协调时2015年7月14日11:49:57(北京时间2015年7月14日19:49:57),也不用太掐着点儿看实况转播。因为没有“实况转播”:飞掠之后再过4小时25分钟,才能有飞掠瞬间拍到的图片传过来。另外飞掠是一个过程,即使已经开始远离冥王星,这一段时间仍然比前几天靠得近得多。这段时间新视野号必然在忙着采集数据,没空发照片。
冥王星、卡戎和地球、月球的大小比较
除月球外的图片其余部分来自NASA
飞掠卡戎的时间是世界协调时12:03:50。
运行到冥王星轨道之外,回过头来看,就是暗面了,虽然比前几天离冥王星近,但是光学观测条件恶劣了。不过,还有一项观测在逆光条件下更有利,就是对大气的研究——如果冥王星有那么一丝大气的话。
新视野号最新测得冥王星直径2370km,卡戎直径1208km。NASA官网上放了它们俩和地球的大小比较示意。我想这样还是不太能让人理解冥王星究竟多小,就又在图上按相同比例添了个月亮。添完之后,我这时常为冥王星降级略感不平的人觉得被说服了,它这么一丁丁,就是该降级。
这些天常常看到人问,为什么新视野号不能在冥王星停一停,转几圈再走。这张对比或许能帮人理解:能挣脱地球引力、又经过木星加速、只用了九年半就飞到了冥王星的一个航天器,不可能被比月球还小的冥王星捕获入轨。除非新视野号一头撞死在冥王星上,否则根本停不下来,哪怕擦着冥王星的表面飞都停不下来。打个比方,大猩猩抡出来的一个链球,螳螂是接不住的。
还见人继续问:先让卡戎帮新视野号减速嘛。
这就是只定性不定量的思考不耐了。冥王星和卡戎捆一起都顶不上月球的个儿,一只螳螂接不住大猩猩的链球,再加一只螳螂还是接不住。
新视野号2006年1月19日出发,2015年7月14日到达冥王星,只花了九年半,这个速度十分惊人。再参照一下右边这幅太阳系著名天体的位置图,会让一些人感到疑惑:探访水星的信使号为什么花了六年半(2004年8月3日-2011年3月18日)才飞抵目的地?
这个疑惑其实对苹果和橙子的比较。简短地说,新视野号路线设计为极速到达,而信使号被有意放慢了脚步。
新视野号的任务是“飞掠”,就像前面说过的,它不需要绕着冥王星转,所以只需要玩命飞就行。倘若它的任务是绕飞冥王星,那么它飞过去的速度就只能慢不能快,而那样的话,恐怕一百年也到不了了。
信使号的任务是“入轨”,它不能笔直朝着水星冲过去、传完数据玩消失——如果那样就粗暴快捷多了,而绕飞水星的技术难度很大。
首先,信使号在水星面临和冥王星相同的问题:怎么刹车?水星个头太小了,连木卫三和土卫六都比它大,它接不住地球直接扔向它的探测器;其次,水星离太阳太近了,信使号飞往它的途中会不断被太阳吸引加速,与其说是飞向水星,还不如说是往太阳上掉落,本来就刹不住车,被太阳加速后更是雪上加霜。
所以信使号到达水星的轨迹是兜着圈子慢慢飘近的,经过一次回归地球,两次金星接力,三次水星飞掠,到第四次靠近水星时才偷偷混进绕行轨道。我们说“六年半到达水星”,指的是最终入轨日期,而不是首次飞掠水星的日期(2008年1月14日,距发射三年半)。
木星和木卫一的合成照片
来源NASA
刚才说过,新视野号到达冥王星之前,在木星老大哥那里得到过一次引力加速(2007年初),趁机拍了老大哥家里老老少少的一些照片。探测木星是新视野号的任务之一,也是一次系统测试确认的大好机会。
跑一趟木星并不吃亏,事实上,如果不经过木星而直接飞往冥王星的话,未经引力加速的探测器要晚三年才能到达。
四川博物院正在展出汉阳陵博物馆的文物(2015年7月10日至9月10日)。这个特展的名字叫做《微笑·汉景帝的地下王国》,起“微笑”这个名字,应该是因为参展文物中,最具代表性的是一大批面带微笑的陶俑。不论是着衣式还是塑衣式的陶俑,都面色平和,含春带喜。
这儿,“汉阳陵”读作“汉·阳陵”而非“汉阳·陵”,即汉景帝的阳陵。
前面提到两个词:“着衣式”和“塑衣式”,现在展开说一说。
所谓着衣式,其实出土和展出时都是裸体的。“着衣式”既然成了“脱衣式”,“着衣”从何谈起呢?这儿的“着衣”是相对于“塑衣”而言,就是说,陶俑的衣服是穿上去的、而非雕塑的一部分。但丝麻棉材料的衣服经不起时间的考验,很快就朽烂光了,只剩下光溜溜的裸体俑。右上图是大批着衣式陶俑出土时的宏大场面,考古人员宛如闯入了大叔天体营的沙滩聚会。上面大图里可以看到陶俑都是断臂模样,左右肩膀只剩两个孔洞。这些孔洞原本安装有木头胳膊,可是木头也都腐烂无存了。
所以,“着衣俑”和“裸体俑”这两个势不两立的词指的是同一样东西。展方为了重现当初安放陶俑时的盛况,精心打扮了两件陶俑给观众体会。
展出恰逢孩子们的暑假,有许多家长带着娃们来看展,却没有做好预习功课,也没有现场学习或应变的兴趣,结果面对这些裸体俑,就出现了尴尬场面。一个女孩儿甚至当场表示:“这个展览少儿不宜。”拽着妈妈离开了。这句话有种悖论式的微妙感,直白地说,这女孩儿意识到少儿不宜,说明她已经不是少儿了……
或许,真的是少儿不宜吧。看,这儿有件宦官俑,比起三大件齐全的武士们,宦官俑的小丁丁确实是名副其实的小丁丁,只剩豆大的一丁丁了。
山上的朋友告诉我,他至少看了两天,窗前的那家红嘴山鸦只剩父母在巢,可能是孩子们都飞走自立了。
他说,那父母偶然还会一愣神后作出频频下望找孩子的举动,孩子们应该是羽翼丰满后自己飞走的,不像其它一些动物,由父母赶出家门。
明年,后年,年复一年,这样的剧情还会重演在每个屋檐下。
金沙遗址博物馆正在地下一层临展展厅展出《霸·迷失千年的古国》(2015.07.07 – 2015.10.07),展品丰富,展线有次序有逻辑,墙上图文说明信息量巨大。
2007年,因为一起盗墓事件,在山西翼城县隆化镇大河口发现了一座西周墓葬。考古人员从这座墓葬中发掘出大量带有铭文的青铜器,大量的礼器、玉饰、乐器、兵器、车马器暗示着墓主显赫的地位,青铜器铭文中反复出现一个字:“霸”。考古学家们猜想,这是一个实有封地、却被历史忽略遗忘的诸侯国。
不说废话,火速上图:
前面说过,这个特展的信息量巨大,挑几块展板感受一下。注意第六块还有个观众互动内容,从互动区的投票来看,参加互动的观众还真不少。
猛击阅读全文
苍鹭
湿地公园里有一大群苍鹭(Ardea cinerea),外号“老等”的,总在等,有时是一只等,有时是一群等,站在水中、岸上、树上,一直在等。我到水边的时候它们已经站在那里了,我站到腰酸腿疼撤退的时候,它们有一些还没动过。我不叫老等,它们叫,所以我等不过它们也不丢人。
水里有很多鱼,个头还不小,在水中或岸边等到鱼的苍鹭会先把脖子45度伸直,确认是鱼后,奋力一扑,再把脑袋露出水面时,一条鱼已经到嘴了。鱼不会上树,所以树上的苍鹭通常等的时间不长,它们站在高处可以瞭望到整个水面,哪里热闹了,它们就起飞,缓慢从容地拍着翅膀,在水面上空兜几个圈子,确认猎物后就飞掠过去或者垂直下降,一头扎进水里。
我曾经以为涉禽是不会游或者不敢游的,看到苍鹭到深水区捉鱼,才颠覆了这想法。它抓到一条鱼,也不急着飞走,面对前来争抢的同类,它反正已经把鱼咽下去了,漂在水面上扑扇着翅膀对抗。