在safari中使用https google reader订阅RSS

之前在safari中一直使用Add To Google Reader订阅RSS,不过由于老外不必担心GFW,采用http即可,但是我使用的时候经常都很杯具的是http无法访问google,从而必须手工改成https,再刷新一次,很不爽。

就像修改一下,去找代码,codaset已经不能访问。就到github上找了个Rob Wilkerson 之前参考的版本,也就是Chupa源代码。我也clone了他的代码,做了一些修改。

一是采用https的方式访问google;

二是点击RSS按钮后直接采用google reader订阅,而不需要选择iGoogle或Reader。

你可以直接在target中下载安装即可,或者在read-in-https-google-reader中得到源代码。

Posted in IT相关 | Tagged , , , | Leave a comment

解决PostgreSQL存储过程中调用c编写的动态库出错的问题

现象,存储过程调用外部c写的动态库函数decode解密偶尔会出错,原因:传递给decode的密文不能保障一定是合法解密结果。

解密函数如下:
text * mydecode(text *t) {
char *p = decodeBytes((char *) VARDATA(t), VARSIZE(t) – VARHDRSZ);
text *new_t = (text *) palloc(strlen(p)+VARHDRSZ);
SET_VARSIZE(new_t, strlen(p)+VARHDRSZ);
memcpy((void *) VARDATA(new_t),(void*)p,strlen(p));
free(p);
return new_t;
}
对PG几乎也是一窍不通,下了它的文档,就直接看C Language Functions,大概了解了一下。
上面的写法是c语言函数的版本-0调用风格,已经不提倡了。
text 是一个结构,length是存储文本长度,data是起始指针:
typedef struct {     integer length;     char data[1]; } text;
palloc用来分配内存,用了一些宏VARDATA, VARHDRSZ, SET_VARSIZE方便书写,不易出错。
(VARHDRSZ 和 sizeof(int4) 一样, 但是我们认为用宏 VARHDRSZ 表示附加尺寸是用于变长类型的更好的风格。)
找个测试环境,在.bash_profile中增加PG环境,PATH=$PATH:$HOME/bin:/usr/local/pgsql/bin/
编译代码,超简单的makefile:
MODULES = codetest
PGXS := $(shell pg_config –pgxs)
include $(PGXS)
引用了pg的makefile,这个真好,只需要修改MODULES的就行了。这里pg_config可以用于查看pg的配置:
[postgres@bi ~]$ pg_config –pgxs
/usr/local/pgsql/lib/pgxs/src/makefiles/pgxs.mk
然后将编译后生成的动态库复制到PG的lib目录下。
在数据库中创建函数和调用如下:
CREATE OR REPLACE FUNCTION myencode(text)

RETURNS text AS
‘codetest.so’, ‘myencode’
LANGUAGE c IMMUTABLE STRICT;
弄几个测试例子:
select mydecode(”);
select mydecode(‘z255′);
select mydecode(‘z2551′);
select mydecode(‘)7zED5A=’);
函数调用时会出错,数据库连接都断开了。查看后端的日志
[postgres@bi pg_log]$ tail -f /var/applog/pg_log/postgresql-2012-05-10_000000.csv
2012-05-10 13:29:50.765 CST,,,5825,,4f9dc310.16c1,126,,2012-04-30 06:39:12 CST,,0,LOG,00000,”server process (PID 20433) was terminated by signal 11: Segmentation fault“,,,,,,,,
2012-05-10 13:29:50.765 CST,,,5825,,4f9dc310.16c1,127,,2012-04-30 06:39:12 CST,,0,LOG,00000,”terminating any other active server processes”,,,,,,,,
2012-05-10 13:29:50.767 CST,,,5825,,4f9dc310.16c1,128,,2012-04-30 06:39:12 CST,,0,LOG,00000,”all server processes terminated; reinitializing”,,,,,,,,
2012-05-10 13:29:51.219 CST,,,20479,,4fab524f.4fff,1,,2012-05-10 13:29:51 CST,,0,LOG,00000,”database system was interrupted; last known up at 2012-05-10 13:27:38 CST”,,,,,,,,
2012-05-10 13:29:51.228 CST,,,20479,,4fab524f.4fff,2,,2012-05-10 13:29:51 CST,,0,LOG,00000,”database system was not properly shut down; automatic recovery in progress”,,,,,,,,
2012-05-10 13:29:51.269 CST,,,20479,,4fab524f.4fff,3,,2012-05-10 13:29:51 CST,,0,LOG,00000,”record with zero length at BF/1C615314″,,,,,,,,
2012-05-10 13:29:51.269 CST,,,20479,,4fab524f.4fff,4,,2012-05-10 13:29:51 CST,,0,LOG,00000,”redo is not required”,,,,,,,,
2012-05-10 13:29:51.278 CST,,,20479,,4fab524f.4fff,5,,2012-05-10 13:29:51 CST,,0,LOG,00000,”checkpoint starting: shutdown immediate”,,,,,,,,
2012-05-10 13:29:51.294 CST,,,20479,,4fab524f.4fff,6,,2012-05-10 13:29:51 CST,,0,LOG,00000,”checkpoint complete: wrote 0 buffers (0.0%); 0 transaction log file(s) added, 0 removed, 0 recycled; write=0.003 s, sync=0.000 s, total=0.025 s”,,,,,,,,
2012-05-10 13:29:51.304 CST,,,20482,,4fab524f.5002,1,,2012-05-10 13:29:51 CST,,0,LOG,00000,”autovacuum launcher started”,,,,,,,,
2012-05-10 13:29:51.306 CST,,,5825,,4f9dc310.16c1,129,,2012-04-30 06:39:12 CST,,0,LOG,00000,”database system is ready to accept connections”,,,,,,,,
2012-05-10 13:29:52.232 CST,”postgres”,”postgres”,20484,”172.16.15.49:61169″,4fab5250.5004,1,”startup”,2012-05-10 13:29:52 CST,,0,FATAL,42704,”unrecognized configuration parameter “”application_name”"”,,,,,,,,
应该还是的内存地址的引用出了问题,原代码中缺少写日志(要写了日志文件调试会好很多)。看了代码decodeBytes 可能会返回NULL,这导致了后续的strlen()函数出错。所以简单地修改了方法,增加空指针判断,如下:
if (p == NULL) {
p = malloc(1);
*p = ‘\0′;
}
问题得以解决。
BTW. 好久未看代码了,没感觉。

Posted in IT相关, 上班那点事 | Tagged | Leave a comment

将PPT转成长微博图片

看新浪微博上发图片的真是不少,分享资源的方式即使是pdf或ppt很多也都直接转成图片后直接分享了。

周末和小乐做了一个《大清皇帝人物图》,上传到slideshare后,就想是否也可以直接转成图片呢?不过要我一张张片子拷贝粘贴就不愿意了,懒人找了一下懒办法,记录在此:

1. 利用PowerPoint另存为图片的方式,会生成一个文件夹,里面一堆图片;

2. 安装ImageMagick,一个跨平台的命令行的图片处理工具;

3. 使用命令:convert xxx*.jpg -append result.jpg,其中-append是纵向拼接。生成的图片在这里

真心喜欢命令行,有充分的自由度。

Posted in IT相关 | Tagged , , | Leave a comment

Photo




on tumblr: http://xbin999.tumblr.com/post/19501243567

Posted in Uncategorized | Leave a comment

facebook timeline is awesome

facebook timeline is awesome

on tumblr: http://xbin999.tumblr.com/post/18372635007

Posted in Uncategorized | Leave a comment

Evernote hello 帮你记住刚见面的人

看到Evernote Hello更加人性化,更新试用了一下,感觉重要的两点:

一是提供了搜索按钮,可以快速匹配;

二是和手机通讯录的链接,以前只能单向把Evernote Hello中的联系人添加到通讯录中,现在可以选择通讯录中的人名;

另外日历事件的功能也不错,可以直接和人员见面的事件关联,不过我找这个Calendar的按钮找了半天,原来该按钮还是有时效性的,只有在事件前后一小时的时间内添加才有效。有强制性不错,但让人找起来实在有点摸不着头脑。

“The second option—choosing an attendee from an upcoming calendar appointment—is only available if you have calendar events scheduled within an hour before and an hour after the current time.”

参见“Evernote Hello Adding People”。

虽然没怎么用(因为我基本上都不怎么见人),还是觉得这个应用很赞,适合于常见客户的。

Posted in IT相关 | Tagged , | Leave a comment

Photo




on tumblr: http://xbin999.tumblr.com/post/17875089698

Posted in Uncategorized | Leave a comment

Photo




on tumblr: http://xbin999.tumblr.com/post/17818913258

Posted in Uncategorized | Leave a comment

NPS – Net Promoter Score

净推荐值NPS(Net Promoter Score)是一个顾客忠诚度指标,专注于客户反馈提升企业成长,最早由Fred Reichheld在《终极问题》一书中普及。

NPS基于每个公司客户可以分类三类:推荐者、被动者和贬低者,通过问一个简单的问题“你是否愿意想朋友或同时推荐[公司X或产品Y]?”,就可以划分人群得到一个客户眼中的公司或产品满意度的清楚衡量。客户回答一个0-10分的分值,并按以下划分:

1. 推荐者(Promoters),9-10分,狂热的忠实用户,会继续购买和推荐他人;

2. 被动者(Passives),7-8分,还满意但不是很热心,容易受竞争对手的影响;

3. 贬低者(Detractors),0-6分,不满意的客户,可能损害你的品牌,传播负面因素阻止发展。

要计算公司的NPS,很简单,只需要推荐者比例减去贬低者比例就可以得到分值。

Posted in Uncategorized | Tagged , | Leave a comment

我们家的阅读培养

看到秋叶在谈《如何让孩子爱上阅读》,想到去年乐妈参加小乐班会时的家长交流心得,拿出来和大家分享一下。

1. 不看电视。我们全家对电视都已经没什么兴趣了,去年一年就看了个春晚;

2. 陪孩子阅读,陪孩子玩。小乐的感情还是比较细腻的,水浒中的李逵探母,她是不要听的,最后征方腊后她也不要再看了;

3. 选书,这里还要感谢秋叶推荐的《美国语文》,我基本上在睡前给小乐念了不少,给孩子念书是我们一直保有的习惯,今年基本上念的是历史上的今天

4. 思维导图和问题的形式比让写读后感更适合于孩子,小乐至今不喜欢写点文字,包括我诱惑她上微博,除了对有几个粉丝和多少个徽章感兴趣外,其他没想法。这里有我们俩一起画的杨家将射雕英雄传的人物关系图;

5. 每个孩子都是个体,而且是不断在变化的,不要想有包打天下的招法,父母是最了解自己孩子该从何处入手培养兴趣的。比如给孩子新书激励的方式目前对小乐也不太适用了,我现在也考虑给小家伙放开,给她更多选择;

6. 培养父母自己强大的内心,不要急功近利,这点或许对父母才是真正的考验;

========================== 附乐妈的全文 =========================

我们家的阅读培养
(开头)

现在就我们家的一些情况和大家交流一下。

氛围——在我们家里,特别是乐乐上学后,几乎是不看电视的。包括我妈妈也是,只要乐乐在家时,肯定是不会打开电视机的。因为我们觉得如果孩子常看电视,心就挺难再静下来看书了。如果大人在看电视,对那些阅读兴趣还没有太浓的孩子来说也是一个挺大的诱惑,会让孩子心神不宁。

平时晚上的8点40分到9点15分的左右,是我们家固定的看书时间。这个时间我们三个人都会坐在床上看书。以前小时候,当然是我们给她念来听,现在是大家自已看自己的书,互不干扰。但像这点也是根据孩子不同的阶段来定的,在认字量不够的时候,都以我们来讲,后来有了一定的认字量,孩子就自己单独阅读了。

还有一点,也是我们家挺特别的一点,就是我们从小就和孩子“玩故事”。 小时候玩的最多的就是《西游记》,在家里一有空就全家人一起来角色扮演。一会儿玩和故事情节一样的,一会儿玩改编搞笑版的,一会儿乐乐也穿越进去和故事人物打成一片。每当大家玩的笑成一片时,那种快乐,让我们都感觉温暖极了。像这个暑假我们带乐乐去了西安,在烽火台上,我们又会把戏诸侯的故事给演一遍。这其中很重要的一点,就是我们大人要放下架子。千万不要怕难为情,玩的投入,孩子有兴趣了也会促使孩子去看更多的书。现在乐乐很自然的,在看过什么书时,会说:“我们来演一下吧!”去外面玩时,我们也会给孩子讲一些景点的故事,比如在岳庙和牛皋墓时,会给孩子讲相关的故事。让孩子在还没看到书时,就有了一种盼望!

选书——我们家还是比较注意选书的,书都是乐爸选好买的。他在乐乐看之前,已经也大致翻看过了。开始时,我们会选孩子有点了解的故事书。这个又回到前面说的电视上。在小学前,乐还是会看中央少儿频道的一些动画片,每天晚上半小时的样子。很多书也是从当时看的动画片里选择出来的。所以如果要看动画片,也是要有选择性的给孩子看。当孩子看《西游记》时,就买这套书,看《三国演义》时就买《三国演义》的书。后来我们发现,孩子对历史书特别有兴趣,就买了很多历史方面的书。版本也从儿童版上升到青少年版。所以只要孩子喜欢,孩子的潜能是无穷的。

怎么给孩子新书——在孩子的不同阶段也是有差别的。小的时候,我们多数以生日礼物、奖品(最好叫纪念品)的形式给孩子,而不是一买就扔给她。这样做是想让孩子在心里有种感觉:“奥,原来书是靠自己争取来的”让孩子从心底就对书有种期待有种珍惜。在准备给孩子买新书时,我们也要事先做些准备。比如,乐在看《三》时,乐爸会给她再讲一些其它历史故事,然后会说什么精彩呀之类的话。就是先吊孩子的胃口,孩子听了后就很想要这套书。当大人觉得铺垫的差不多时,就可以选好买下来了。那次当乐乐看到她提了好几次请求想要才到手的《杨家将》时,眼光都发光了。这个时候,孩子已经很迫不及待了。我们有时也会故意减少她看书的时间,比如她做坏事或还不肯去洗澡时,我们会说:“不给你看书了奥”这招对乐乐来说很管用的,同时在她心里又深深扎下一个看书是一件很享受的根。

亲子——和乐乐的亲子阅读是我们从她0岁就一直开始在做的。像现在乐乐眼睛不好,所以每天看好书后,我都要给她按摩。按摩需要15分钟,这个时候就成了我们的亲子时间。只要乐爸9点20能到家,我负责给孩子按摩,他就负责给孩子念故事。                   

这个时候我们选择的书可以更广些,可以是孩子兴趣还不大的书,或是孩子一个人看还有点吃力的书。都可以通过大人的娓娓述说,变得那么吸引人,那么有童趣。举下例子,像泰戈尔的诗歌集,她都会听了又想听。我在去年也将《哈利波特》第一本从头到尾给孩子念。每周钱报连载的《航海王》都是乐爸和乐一起看完了。

孩子看什么书,大人也要有所了解,甚至一起看。因为孩子有时对一些故事情节还是会有一些情绪波动的。大人可以及时了解,而且这样我们和孩子之间也有了很多可以沟通的话题。所以不管孩子能不能独立阅读,给孩子讲故事的时间陪孩子一起看书的时间还是很有必要的。(李逵探母)

我们走过的弯路——让孩子阅读的目的是什么?就是为了写作吗?我犯过这么一个错误,当我发现孩子的写作水平是这么的平淡无奇时,很困惑。因为乐乐的阅读量我觉得还可以。我心里很急,就让她边看书边划出好的词语,后来乐爸制止了我。这样做会把孩子对阅读的兴趣给抹杀掉的,不能让孩子带着目的去阅读,因为体会不到阅读的快乐,是不会真正爱上阅读的。

对孩子不要做粗暴的事。这件事我和乐爸都做过,为了惩罚乐乐被窝里看书,乐爸收走了乐乐所有的书,为了不然她沉迷于漫画,我也收走了所有漫画的书。在很多时间,我们大人应该检讨自己,想想自己手上的特权还能用几年?我们说孩子不听话,不懂事,不爱阅读,但我们有没有为孩子来改变自己?有没有耐心地来想过怎么教孩子?在乐乐小学之前,我多数都是用粗暴的方法来对乐乐,但现在我改变了很多,发现以前觉得不可能的事,现在都在一件件变可能。

每个孩子都是个体,每个孩子的不同阶段也都是独立的,不要想一招打天下,我们的方法对其他孩子并不一定管用,但肯定是有其它解决办法的。还有一点,在教导孩子如何阅读和培养孩子其它方面的道理都是一样的,一定要两夫妻一起参与进来。当孩子有需求时,大人能及时站出来,我们大人也要改变自己,改变方法,谢谢大家!

Posted in 家有小乐 | Tagged , | Leave a comment