偶然看到一幅酣梦斋主的毛笔书法练习作。。
想想自己:小学的时候是参加参加书法比赛拿拿奖,中学的时候也还能写写黑板报啥的;自从到了大学开始摸电脑,毛笔就成了家里的摆设、硬笔也是越用越少。工作了以后摸得最多的则是在白板上用的水笔了。
人家是字越写越漂亮,我反有日渐退化的趋势。真该重新开始练练了。。
标签 ( Tags ) : 厉
- 10 confusions with their solutions before you start using CakePHP
- "X" Things, to Understand about Ruby on Rails
- Cake PHP useful tips: 21 Things You Must Know About CakePHP
- How to Bridge PHP and Java for Powerful Web Solutions
- 累了吗?来BSOD一下吧!
著名的Windows系统蓝屏。这也能拿来当屏幕保护。。。 - MP3 Player Steals £200,000 From Cash Machines
ATM看上去是越来越脆弱了。
缺省情况下这段服务代码会对页面上所有的 URL 超链接进行缩略图的显示处理(但不包括嵌套 frame 和非常规的 href 目标)。如果希望某些特定的链接不触发该效果,只需要为链接增加名为 snap_nopreview 的 class 属性;如果希望默认不处理任何 URL,则需要把服务代码的参数 'ap=1' 改为 'ap=0' ,然后为希望触发效果的链接增加名为 snap_preview 的 class 属性。目前这些个性化的设置并没有傻瓜式的定制界面,只是在 FAQ 中进行了说明,对于没有网页开发基础的朋友来说可能会过于复杂。理论上来说这个服务的接口可以做的更为友好和简洁一些。
遗憾的是从实际使用的效果来看,似乎大多数 URL 并不能即时显示出有意义的缩略图。虽然Jason Fields在日志中说只要鼠标移到某个超链接上并显示 "Capturing" 信息,就表示该链接的缩略图生成请求已经提交给服务器,再过几分钟之后缩略图应该就能正常显示;但实际上抓取的速度远慢于此。
看来既有索引量的不足是 Snap 亟需改善的问题。毕竟太多的搜索结果如果都没有对应的图片可以显示的话,其所谓的特色反倒成为缺陷了。不过要想达到 Google 级别的网页索引量,还得是图片形式的, Snap 有没有足够的硬件支撑还是个问题(也许 Google 应该考虑提供类似的服务)。。
一直在找这个认领的入口,终于发现原来在“增改描述或标志图片”旁边有个“这个blog是我的”的链接。总觉得这个入口太不明显了。。
doubanclaim89c5221720d2ff5b
轻松拿下小牛、力克热火、被马刺和活塞最后一节大翻盘,火箭这个赛季的比赛内容跟前几个赛季相比简直是得到了质的提升。即便是对阵尼克斯这样一场以沉闷为主基调的比赛里面,姚明还不忘和内特·罗宾逊联手奉献了个经典镜头作为补偿。

身高7尺6寸(2米26)的姚明和5尺9寸(1米75)的内特·罗宾逊站在一块(上图左),基本上就是是桌子配凳子;可这个“土豆”型的家伙早在全明星灌篮大赛(上图右)的时候已经让全世界球迷记住了他,这次他虽然没能够在姚明的头上玩灌篮,却实实在在送出记大火锅给姚明(上图中),也算是再次惊世骇俗了一把。YouTube上的这段比赛镜头视频已经被无数人引用评论了(1, 2, 3),甚至有人在4shared上放了更为清晰的asf视频文件提供下载。
或许姚明开始嘀咕为什么火箭要安排尤因来训练自己了(撇开被乔丹当头怒扣不提,这个倒霉中锋可是被身高1米6的小虫博格斯封盖过的),优良传统要继承当属不易,这种霉运要被传染可是出奇的灵验。不过有道是没踢飞过关键点球的球星不是世界级球星,没被小个盖过帽的中锋职业生涯大概也不能算完整。所以姚明如是说:就连5尺3寸的球员也曾经盖过自己的帽,这算啥(就是不知道他所说的这个5尺3寸的是哪位人物?)。
如果麦蒂的背和姚明的脚趾不出来捣乱,火箭的替补球员能够有更出色的发挥的话,今年的火箭应该能够带给我们所期待的更多精彩内容,不再是白开水喝到胃涨了。。
花儿开了上周末经历了一场要命的 Dreamhost 超额流量催款事件,相信只要是正在使用 Dreamhost 服务的朋友看了都会觉得后怕。
虽然最终因为是被恶意连接加上 Dreamhost 的统计相对有问题,这笔四千多美金的流量费被免除,但若是确实产生了这些流量的话又该如何收场?作为服务提供商,就算不愿意主动根据用户购买的服务来对流量进行限制,至少也应该提供用户自己来进行限制的方法吧?
赶紧到 Dreamhost 的 Control Panel 去查看了一下,原来是有这样一个 Bandwidth Throttling Settings 的功能,可以对帐号下的每个域设定一个带宽使用的上限值的。只不过缺省状态下,所有域对应的 Throttling 都是 disabled 的,你必须自己手工一个个去激活。当激活了这个功能之后, Dreamhost 会根据前一天的流量来估计你第二天的流量是否可能超额,如果是的话自动把你的 web 文件夹重命名到 .throttled 后缀。但因为这个处理过程是以天为单位,像那样几小时之内发生的大流量也只能眼睁睁看着飙上去了。不过只要不是统计数据上的错误,以 Dreamhost 的连接速度,一天之内能飙出来的流量也不至于会超出限额太多。所以对我们这些使用 Dreamhost 服务的用户来说:
- 一定要设置 Bandwidth Throttling
- 一定不要在 web 可访问目录下放大文件,即使看上去这些文件并没有对任何人开放
- 一定要经常检查自己站点的流量情况( Dreamhost 提供的 report 其实还是体现得蛮详细的 )
这样即便是流量突增,最多也是一天之内的损失,虽然也不是好事,但至少容易接受些了。
Sun 在固守了多年之后,终于昨天决定让自己的 Java 跨进了 GPLv2 (GNU General Public License version 2) 的大门。虽然目前还只释出了 HotSpot JVM / javac / JavaHelp / feature phone / TCK 等有限的几套源代码,但其他更多代码将在接下来的半年时间中陆续得到公开(包括完整可编译的 JDK)。
Sun 这次的痛下决心或许就跟 MS 迫于 Firefox 的压力而出手 IE7 一样,若不是其他开源脚本语言蓬勃的生机让 Java 感受到了危机的话, Java 之 GPLed 或许不会被 Sun 提到日程表上来。不论原因是什么, Java 的开源会是让大多数人欢欣鼓舞的好事情 -- 虽然必定有撮人会暗暗不爽ing 。
标签 ( Tags ) : sun
warning: dereferencing type-punned pointer will break strict-aliasing rules
在 gcc 2.x 下编译没有任何 warning 信息的代码换到 gcc 3.x 版本下之后出现了类似的 warning 。原因是 gcc 3 引入了 strict aliasing 架构,当编译时使用了 -fstrict-aliasing 参数(该参数在使用了 -O2 , -O3, -Os 优化参数的情况下默认生效),而源代码中存在一些违反了 strict-aliasing 规则的地方的话,编译器就会对这部分代码提出 warning 。
gcc 3 manual 对于 -fstrict-aliasing 参数的说明是:Allows the compiler to assume the strictest aliasing rules applicable to the language being compiled. For C (and C++), this activates optimizations based on the type of expressions. In particular, an object of one type is assumed never to reside at the same address as an object of a different type, unless the types are almost the same. For example, an "unsigned int" can alias an "int", but not a "void*" or a "double". A character type may alias any other type.
简而言之, 在该参数激活的情况下,编译器希望不同类型的对象不会指向同一个地址。比如像这段代码:
int retLen;
someSetFunc((unsigned long*)&retLen);
printf("ret len = %d\n",retLen);
由于 someSetFunc 的传入参数类型定义为 unsigned long ,所以需要进行这样的指针类型强制 cast 。但对于 -fstrict-aliasing 优化参数来说,这样的转换是有潜在问题的(但实际上可能并不会造成任何问题)。所以如果现有的源代码存在太多这样的类型强制转换的问题的话,对这些代码进行修改也许会是场噩梦。最简单的方法是使用 -fno-strict-aliasing 参数来关闭 gcc 的优化选项,代价是放弃了 strict-aliasing 编译优化可能带来的可执行代码的性能提升。当然也可以用 -Wno-strict-aliasing 来屏蔽相关的 warning 信息,但无论这些 warning 信息多么的无关紧要,总还是“疑似危险”,所以可能的话最好还是把所有的 warning 都消灭掉。
消灭的方法也不算复杂,正如 gcc manual 所示的那样,可以是采用 union 的不同成员变量来完成类型的转换。上面那段代码可以改为:
union u_retLen
{
int retLen;
unsigned long ptr;
};
someSetFunc(&u_retLen.ptr);
printf("ret len = %d\n",u_retLen.retLen);
虽然会使源代码变得丑陋,但对于大部分已有的源代码来说,这可能是改动最小的方案了。而对于新写的代码来说,如何更好的设计函数的入口参数(比如使用 void*)可能才是需要去思考的问题了。
如果需要在查询语句返回的列中包含一列表示该条记录在整个结果集中的行号, ISO SQL:2003 标准提出的方法是提供 ROW_NUMBER() / RANK() 函数。 Oracle 中可以使用标准方法(8i版本以上),也可以使用非标准的 ROWNUM ; MS SQL Server 则在 2005 版本中提供了 ROW_NUMBER() 函数;但在 MySQL 中似乎还没有这样的系统自带功能。虽然 LIMIT 可以很方便的对返回的结果集数量和位置进行过滤,但过滤出来的记录的行号却没办法被 SELECT 到。据说 MySQL 是早就想增加这个功能了,但我是还没找到。
解决方法是通过预定义用户变量来实现:
set @mycnt = 0;
select (@mycnt := @mycnt + 1) as ROWNUM , othercol from tblname order by othercol;
这样查询出来的结果集中 ROWNUM 就保存了行编号信息。这个行编号信息的某种用途在于当你需要根据需要对数据按照某种规则排序并取出排序之后的某一行数据,并且希望知道这行数据在之前排序中的位置时就用得着了。比如:
set @mycnt = 0;
select * from (
select (@mycnt := @mycnt + 1) as ROWNUM , othercol
from tblname order by othercol
) as A where othercol=OneKeyID;
当然你也可以通过创建临时表的方法把查询结果写到某个拥有 auto_increment 字段的临时表中再做查询,但考虑到临时表在 MySQL master / slave 模式下可能产生的问题,用这样临时用户定义变量的方式来计算查询结果集每一行对应的行号还是更为简洁 -- 除非你愿意在 PHP 或其他语言脚本中对返回的整个结果集再作处理。
最近大脑的中枢神经频繁切换于 C++ / C# / Java / PHP / Javascript 之间,占用率基本上是 100% ,本来懒得再对国产大片这档子鸟事有什么感想;但看到 Calfen 在文绉绉的解读《夜宴
》里那首《越人歌》,倒也颇有意思。至少从这点来说,《夜宴》比起之前的《无极
》来说总算多了点内涵(比《无极》还要烂的片子不会是《夜宴》,也不会是《黄金甲》,估计近几年内不太可能出现超越《无极》的烂片)。
然而冯导犯了之前几位导演同样的毛病:对于自己新涉足的领域,而且一下子就是大制作,手中握着太多的资源,脑袋里面有太多的想法,就是不知道如何去取舍,最终只好把所有的东西强捏到一块,终极目标是忽悠个奥斯卡回来。
现在回想起来还能让我印象深刻的是什么?
台词风格:横贯中西、古今混搭到了随心所欲的地步,完全不考虑整体性和合理性。几乎让我产生听力障碍。。
杖毙庭下:这场戏是在太酷了。陈凯歌在他的《无极》里面致力于相对论的研究,冯小刚则似乎对中国的古代酷刑很有兴趣。建议冯导在以后的大片(如果还有的话)中每部介绍一种,把十大酷刑给展现全了,也算是对中国古代文化的另类保护。
越人舞蹈:越人歌我是没什么感觉,与之相配的越人舞倒是看得我心里直发毛 -- 据说这舞蹈脱型于日本的无机舞,当然也有人认为不尽然 -- 不论如何,《夜宴》的越人舞我是实在欣赏不来。
高级石椅:无鸾躺了多次的那张石椅一开始我以为只是石椅,想不到还可以顺便洗洗头的,现代化与大自然的有机结合,妙的很。不知道有没有哪家发型屋有兴趣效法一下。
Over.
标签 ( Tags ) : movies
- Censored Data via Amnesty International API
The Amnesty International API provides access to their database of content and sites that have been censored by both governments and corporations.
从 OpenNet Initiative (ONI) 提供的这张 Flash地图 可以看到相当直观的全球互联网信息审查的区域性强度对比。在 GFW 的巨大贡献下,最最红色的地域归属自然是毫无悬念;即便是在这么小的一张缩略图上,那一大块深红还是如此的醒目。
John Musser 说 : "There is more censorship occurring online than you may be aware of." 但对我们来说 , Censorship is everywhere. - The Habits of Highly Effective Web 2.0 Sites
- 網頁瀏覽加速法 (原文 Optimizing Page Load Time)
“使用者端可以做的就是打開 HTTP pipelining,Firefox 使用者只要在 URL 列打 about:config 然後找出 network.http.pipelining,改成 true 即可。而在伺服器端,也有些有趣的設定可以做”。 - EGOPOLY: Things that bother me about Ruby
- [JS]遭遇IE内存泄露
引起IE内存泄露的主要情况为js对象实例跟dom对象的相互引用、“内部函数引用(Closures)”以及DOM插入顺序泄漏。 - Memcache的分布式应用
- 是时候了,前端架构师 (原文 The Time is Now for Front-End Architects
“当后端技术伴随.Net, Rails和Java之类的框架发展得越来越抽象和强大,前端技术的潜在发展也日益复杂。在束缚前端技术潜在好处的差劲实现之前, Web需要更多的前端架构师。” - 电脑桌前的姿势要点
- 交通习惯
这位老外说:“我父母虽然对这样的交通不习惯,但是他们也没有说不好,以至说很佩服中国的司机能在注意四方的多种事物的同时安全地驾驶。”
当自己开始真正每天开着车子穿梭于城市之后,才发现马路上那些骑着脚踏车助动车或者迈着两条腿在机动车道上晃悠的人是多么的不珍惜自己的生命。从飞驰的汽车驾驶座上看出去,他们就像随时都会被忽略掉的一张张树叶。 - 关于心理暗示
- 《越狱》被指剽窃一对兄弟亲身经历 - I eric
- PES6出现!
