把邮件地址告诉大众点评网之前,要三思

2011年3月24日 2 条评论

每隔几天,就收到来自“大众点评网”的垃圾邮件,推销他们这个那个东西。我早已经把他们Report Spam了,但为了不漏过被误判的有用邮件,也经常查看spam。每当看到他们的邮件不断发过来,就很不爽。

Dianping Spam

大众点评的垃圾邮件

 

大众点评的垃圾邮件第一句话就是:请把发件人邮箱加入白名单,以确保正常及时接收邮件。这句我很反感,为什么用这种命令的语气呢?就是因为这句我才点了Report Spam。

第二句倒是提供了退订链接。之前收到的若干他们垃圾邮件,每次我都点击退订的。而退订之后,都是一个退订成功的消息。

退订

退订

退订成功

退订成功

那个“请管理您的其他订阅邮件”的链接,点进去,还有其他类别,我也一并退订了。

管理订阅邮件

管理订阅邮件

本来我以为这样就收不到他们的垃圾邮件了,但今天又收到一封。依然点击退订,然后进入管理订阅,发现这些分类仍然都是选中的!在定睛一看,这次不是以前退订的城市!而且,有21个城市!每个城市有6类!这些,都是默认选中的!!

默认选中!

默认选中!

真服了你们点评网了,竟然想出这招!

发了封信给他们,要求取消邮件,如果以后有回复,我将在这里更新

To dianping

To dianping

 

===================总结的分割线==================

教训:把邮件地址告诉大众点评网之前,要三思。看自己是否有时间、有耐心去点击上百次鼠标,取消一些自己根本就没去过的城市的相关邮件。

如果有自己的域名,可以参考这篇:用自己的域名邮箱注册各种网站。大不了废弃掉一个地址。

今天之所以和点评网较劲,还是觉得他们没烂透。如果这次不能解决,我就将点评网归为垃圾网站之列。

===================更新的分割线==================

约17个小时后,收到他们的回信

回信

回信

不过在管理订阅界面,看到的仍然是选中,不知道是不是他们用其他方式屏蔽。看看以后还有没有垃圾邮件吧

===================第二次更新的分割线==================

目前仍然能收到他们的垃圾邮件,已经回信给客服

===================第三次更新的分割线==================

他们回复尽快解决,但第一次联系的两周后仍有垃圾邮件。我又发信说明情况,并要求给出解决问题时间表。这次他们不再回信了,但到现在也没有垃圾邮件。不知道是不理我了,还是连他们自己的回信也被屏蔽了,导致我没收到。

 

分类: 随笔 标签:

如此促销

2011年2月18日 没有评论

昨天,iapps.im发出一个推送通知,说高德导航今天将有优惠活动。今天在参加iOS Tech Talks的间隙,想起此事,特意去网站上看了一下,原来促销是这样的:

奖项设置(100%中奖):
一等奖 2 名: iPod Shuffle 一部,价值398元
二等奖 3 名: iPhone4 Bumper 一个,价值228元
三等奖 10 名: 赠送50元手机话费充值卡或返还50元现金(相当于半价优惠)
除一二三等奖得主外,活动期间购买的用户均为参与奖:直接返还20元现金。(相当于8折优惠)
微博转发另设幸运奖1名: 苹果原装线控耳机 一个,价值228元。
参与方式:
购买后,首先在iTunes的账户信息-购买记录里找到您的订单编号(订单编号是一个类似M1VX5SXNZ7这样的代码。),然后请在iTunes里用“客户评价”的形式附上订单编号后5位,例如“ SXNZ7 ”,此举仅仅为了辅助核实购买的真实性,因只有购买后才能做“客户评价”。最后写信到此邮箱 :???@autonavi.com ,邮件标题为“爱Apps活动”,附上您的姓名、电话、支付宝帐号、iTunes评论人昵称邮件内请用附件的形式提供iTunes的订单截图(见下图范例)

奖项设置(100%中奖):一等奖 2 名: iPod Shuffle 一部,价值398元二等奖 3 名: iPhone4 Bumper 一个,价值228元三等奖 10 名: 赠送50元手机话费充值卡或返还50元现金(相当于半价优惠)除一二三等奖得主外,活动期间购买的用户均为参与奖:直接返还20元现金。(相当于8折优惠)微博转发另设幸运奖1名: 苹果原装线控耳机 一个,价值228元。
参与方式:购买后,首先在iTunes的账户信息-购买记录里找到您的订单编号(订单编号是一个类似M1VX5SXNZ7这样的代码。),然后请在iTunes里用“客户评价”的形式附上订单编号后5位,例如“ SXNZ7 ”,此举仅仅为了辅助核实购买的真实性,因只有购买后才能做“客户评价”。最后写信到此邮箱 :???@autonavi.com ,邮件标题为“爱Apps活动”,附上您的姓名、电话、支付宝帐号、iTunes评论人昵称邮件内请用附件的形式提供iTunes的订单截图

看了这个活动,我首先想到苹果前几天更新的开发者政策:

If you attempt to cheat the system (for example, by trying to trick the review process, steal data from users, copy another developer’s work, or manipulate the ratings) your apps will be removed from the store and you will be expelled from the developer program.

这个活动会不会被认为是操纵评价?

先看看评价情况。打开iTunes,粗略看了一下,最近的14页上绝大部分是今天参加这个活动的评价,估计有120左右,其中1星一个,3星3个,其他都是4或5星(现在还不断有新评价,就不再统计了)。而这个活动之前,每天的评价大概是几条到十几条,就连2月9日版本更新的那天才23条。

我觉得,如果苹果认为这是操纵评价,是有理由的。可是如果惩罚的话,应用将下架,已经购买的用户将不能升级,利益将不能保证。

本来我在这个版本刚刚发布的时候,还给了一个不错的评价,写了几条建议。但这个活动为了促销而不关心用户利益,我将我的评级改为1星,并加了一段话:

对你们今天的促销方式很不满

我并不在乎那20块钱,曾经遇到过其他应用买了之后大幅降价的,也有超过20块钱的。主要是觉得这种方式不可取。就在前几天,苹果更新了开发者协议,操纵评价的应用将被下架,开发者将被除名。如果这个事情被认为是操纵评价而导致这个程序在iTunes消失,*所有*用户将得不到升级服务!你们不能用这种对用户不负责的方式促销!!

在iapps.im活动介绍页面上,也留了类似的质疑:

2011年02月18日于20:47

本来在这个版本刚出来的时候感觉不错,还写了一些建议。刚刚更新了iTunes里的评价,现在已经将星级改为1星了。

我并不在乎那20块钱,曾经遇到过其他应用买了之后大幅降价的,也有超过20块钱的。主要是觉得这种方式不可取。就在前几天,苹果更新了开发者协议,操纵评价的应用将被下架,开发者将被除名。如果这个事情被认为是操纵评价而导致这个程序在iTunes消失,*所有*用户将得不到升级服务!高德不能用这种对用户不负责的方式促销

几分钟后,我的留言被删除了

qiqiji (ID:167)2011年02月18日于20:54

首先很抱歉我移除了您的评论。

再次解释一下,关于客户评价一事,仅仅为了辅助核实购买的真实性,因只有购买后才能做“客户评价”

我们1没有要求客户给几星,2没有要求用户写评价内容,我们只要求他留5个字母

而事实是,1星,3星,4星,都有。

我的回复:

2011年02月18日于21:53

不用抱歉,你们的网站,自然有权利做任何事情。

我也在关注iOS,知道之前有人因为一些原因被苹果惩罚很严重,而申诉无效。我觉得高德做得不错,不想苹果刚刚公布新政策,它就撞在枪口上。这种事情上,苹果几乎是不听辩解的。而刚刚看了一下评价,今天已经是往常的十几倍数量了,不知道苹果怎么看

目前就是这样,如果有后续的情况,我再更新这里。

分类: iOS 标签:

图片的alpha算法

2011年1月13日 没有评论

不少程序中,都使用半透明的效果。虽然现有的api或者控件都提供这个功能,但某些情况下,还需要了解一下alpha算法。

假设2张图片为A和B,合成图片为C,以RGBA都是8bit为例。在PNG-24下,alpha 255表示不透明,0表示全透明。

C的每个像素RGB值是分别计算的。那么对于A和B的每一个像素,目标像素RGB值为

Rc = (Ra*alpha + Rb*(255-alpha))/255

Gc = (Ga*alpha + Gb*(255-alpha))/255

Bc = (Ba*alpha + Bb*(255-alpha))/255

在我的上一个iPhone应用里,要模拟iPhone界面。在iPhone锁定屏幕里,最后面是用户设置的背景,前面有若干alpha值不同的控件。如果要使用控件做到完整的模拟,因为不知道alpha值,要不断调整测试(并且不同位置的alpha值不同)。我想到一个办法就是用一张全屏图片来做出所有控件背景效果,然后在上面用背景透明的UILabel显示文字。

如何得到这张需要的图片呢?看上面的公式,如果我用全白RGB(255,255,255)和全黑RGB(0,0,0)做背景图片,就可以推导出alpha的值了。

alpha = 255 + R(black) – R(white)

下面的事情很简单了,做一个全白色图片和全黑色图片,分别设置成背景,然后截屏。

IMG_0578 IMG_0579

写个程序,用上面方法计算叠加图片的RGBA:

overlay

最后,用图片编辑工具将不需要的文字和滑块修改掉,就得到最终图片。在IB里,放两个重叠在一起的UIImage,后面的放正常背景图片,前面使用刚刚生成的图片,背景透明,最前面是UILabel的文字和UISlider滑块,就得到可以和iPhone以假乱真的界面。(下面的图片没有调整文字)

overlayoverlay1

分类: Android, iOS 标签:

定制UISlider

2011年1月13日 没有评论

刚刚向App Store提交了一个小应用,做了一个模拟来电的界面,里面用UISlider实现了slide to answer。

搜索slide to unlock,可以找到不少实现的代码,比如在这里提到的SlideToCancel。我做的就是基于这个代码。

直接运行这个代码,会发现可以看到UISlider的滑轨(track)。可以通过setMinimumTrackImage / setMaximumTrackImage来修改。但这里如果把nil作为参数,并不是表示不显示,而是使用缺省的。可以用一个透明的图片传给这两个函数,就“隐藏”track了。

随着滑块向右滑动,下面的slide to cancel会逐渐消隐,这是通过设置label的alpha实现的。当滑动到中间的某个位置时,手离开屏幕,滑块就会回到左侧,但这个代码里忘记了将label的alpha设置为1。可以在sliderUp中添加一个设置alpha为1的animation。

这个代码还有个问题,就是当滑动到中间的时候手指一动到UISlider之外再离开,滑块就不会回到最左侧。解决办法也很简单,把touch up outside同样指向sliderUp就可以了。

这个代码是用代码生成UISlider,但如果使用IB的话,是不能调整slider的高度,会造成即使thumb很大,可以拖拽的区域还是很小。要解决这个问题,需要自己继承UISlider,实现pointInside:

- (BOOL) pointInside:(CGPoint)point withEvent:(UIEvent*)event {
CGRect bounds = self.bounds;
bounds = CGRectInset(bounds, 0, (23.0-SIZE_Y)/2);
return CGRectContainsPoint(bounds, point);
}

UISlider的缺省高度是23,通过CGRectInset调整到SIZE_Y大小。

另外,对于slide to cancel几个字符的处理,这里是按照字节拆分的,不能用在中文上。如果使用一个图片叠加在字符上,通过设置图片的alpha来实现search light效果,就不会收文字编码限制了,即使是后面是图片也没有问题。

分类: iOS 标签:

老图片:2004/12/27:人民币历史汇率

2011年1月12日 没有评论

0

分类: 图片 标签:

老图片:2005至2006年北京93号汽油价格

2011年1月12日 没有评论

整理硬盘,看到这张图片:

2005至2006年北京93号汽油价格

 

0525001702_1

 

0525001702_0

分类: 图片 标签:

折腾VPS

2010年12月25日 2 条评论

在两个月前,我买了VPSYou的XEN VPS,随后逐步将我的东西迁移到这个VPS上。

在半个月前,发现VPS的速度越来越慢,打开WordPress后台需要很长时间,有时候甚至是超时不能打开。开始我以为是我的VPS配置有问题,后来发现VPS的CPU0被wa占用经常是100%。这个VPS一共有4个CPU,用vmstat查看wa在20-30,偶尔超过50。搜了一下,wa是I/O相关的,而我允许的服务不会造成这个影响。有些时候,连man命令都会延迟相当时间,应该是等待IO。随后,我给VPSYou客服提了一个服务单,二十多分钟后,就得到答复:“我们会尽快查看磁盘”。

大概3个小时后,VPS完全无法访问,通过console登录看到大量的任务错误堆栈,原因是“INFO: task xxxx blocked for more than 120 seconds.”通过控制面板发出重启命令也无效。再次向客服提服务单,4小时后回答“目前服务已正常”。

8小时后,再次发现VPS的状态是Offline,向客服说明情况,3小时后答复是“该情况系由服务器硬件故障引起,我们已与机房取得联系,机房正在处理,请您稍候。”

又过了3小时,我再次尝试登录,可以访问,但wa相当高,反应很慢。对此客服的回复是“该服务器目前仍出于调试状态”。

之后,VPS再次offline,网站放出公告

lvserver05自从星期五晚上宕机后我们一直联系机房,由于他们那边也刚好快要周末处理速度非常非常的慢,我们真的很无奈,一直就说“I am forwarding this to our senior admins. You will be updated soon.”
直到今天早上他们所谓的“senior admins”才回复说是磁盘的问题,需要更换磁盘,他们已经开始为我们做这件事,他们通知说预计需要3-5小时(2010/12/12 13:00开始)

当地时间12日18点之后,VPS依然不能访问,也没有进一步的说明。联系客服,得到的答复是

机房回复说磁盘复制无法进行
用镜像备份的第二块磁盘没法正常引导
估计这次我们的麻烦估计很大了

我询问数据是否会丢,25个小时后得到答复

所在服务器宕机后
我们已经做个各种努力
数据目前都无法恢复
我们已经在联系客户,协商赔偿的事情

4天后,他们依然没有联系我,但却收到了下个月的账单。向他们询问情况,说给1个月的免费使用作为赔偿,但由于没有其他位置,VPS将从我原来选择的100M端口主机换到10M端口主机。

从出问题到最后谈到问题处理,有10天的时间,正赶上Linode的送$100活动,就决定放弃 VPSYou。VPSYou给了一个月的退款。比较这两家的差别,除了价钱上,就是VPSYou的每月流量大,而Linode的内存大。

又折腾了几天,逐渐把服务在Linode上配置起来。之前在VPSYou上面设了到dropbox的同步,但有些配置文件没有备份,导致要在Linode上重新配置,又花了几天时间。

总结一下这半个月的折腾:

  1. VPS就是折腾,为了得到对服务器的更多控制,要花更多的经历和时间。如果仅仅要Web,还是bluehost什么的主页空间更合适。
  2. 如果买的条款里没有备份服务,不要指望服务商的设备不出问题。即使有备份,也最好自己做一份。
  3. VPS提供商,没有用很多,没法对比,但VPSYou回答问题时快时慢
  4. 当初发现VPS很慢时如果做全面备份,之后恢复应该就会节省很多时间
  5. Dropbox是个好东西,可以做免费实时备份,并且有历史可查
分类: 网络 标签:

感冒后该做的9件事

2010年12月3日 没有评论

今天在Google Reader上看到别人share的一篇文章:《感冒后该做的9件事》

感冒后该做的9件事:1:找一张床,休息。2:补维生素C。3:吃黑巧克力,能止咳。4:打开加湿器。5:吃流质食物,能缓解鼻塞。6:每天喝2000毫升水。7:远离乳制品。8:服用非处方药。9:耐心等它过去,7天左右才会自行消失。—-来自美国威斯康星大学10月发布的《感冒白皮书》。

觉得这个有些不靠谱,2、3、5、7、8都太绝对了; 而6是必须的,不管是不是感冒; 达菲是被证明有效的感冒药,可以缩短病程,这里也没提到。难道威斯康星大学就这水平吗?

搜索“感冒白皮书”,找到一些更完整的文章,比如:

  • http://www.10699999.org.cn/space.php?uid=766&do=blog&id=3772
  • http://blog.sina.com.cn/s/blog_6c1404820100n4rr.html

这些文章都提到

  • 美国威斯康星大学医学与公共卫生学院2010年10月发布的一份《感冒白皮书》,揭露了有关感冒的三个“一”真相。
  • 第一个“一”:感冒是一种由病毒引起的上呼吸道感染“综合征”,有超过100种以上的病毒可能诱发感冒;
  • 第二个“一”:一般来说,感冒的症状会持续一星期,不论服药与否;
  • 第三个“一”:感冒的起点,应该是出现症状的一天前,那时病毒已经在你的体内驻扎。

但对于那九个建议,说法却不一致,有的说来自美国健康播报网,有的建议中提到“刘又宁”,貌似是个中国人。还有的文章标题是《感冒白皮书:立刻做这9件事让你迅速痊愈》,即使文章里说了“症状会持续一星期,不论服药与否”。

这些文章那都对9个建议详细地展开说了,其中服药一条还提到了止咳糖浆,我就基本可以肯定这些建议是国人提出的了。

我试图找白皮书的原文,可是没有找到。搜索“University of Wisconsin School of Medicine and Public Health”、“cold white paper”、“flu white paper” 的结果仅仅是一些blog或一些不相关的内容,仅有一篇文章和中文的很像。还有一篇是中英文对照,标明来自环球科学,而环球科学又说来自生命时报。到这就没线索了,貌似其他文章都是从生命时报转发的,而生命时报没有给出来源。

相当一部分文章提到9个建议来自美国健康播报网,英文的文章也说是来自“Health broadcast network”,搜索的结果是

H B N ( Health Broadcast Network Inc ) is a private company located in Bedford, TX in the Radio and t.v. communications equipment segment of the Manufacturing industry

这是一个设备制造商啊。

到这里,我能想到的方法都用了,没有找到原文,没有权威网站的报道白皮书(也或许是我没发现)。无法证明这个白皮书是无中生有,但对我来说,可信度极低。

分类: 健康 标签:

周末迁移服务器

2010年11月12日 没有评论

现在的空间是bluehost的,马上就到期了。续费是$8.95/月,和VPS相当,并且VPS可以控制的更多。所以,我做了一个艰难的决定,买一个VPS,不给bluehost续费。

这周末,我将把这个blog迁移到新的服务器,域名不变,只是IP变化,DNS更新后,应该感觉不到和现在的区别。

分类: 网络 标签:

OmniFocus在线同步

2010年11月12日 没有评论

学习GTD也有段时间了,一直在找一个适合的GTD工具。有人说纸和笔是很好的GTD工具,但我觉得缺点是:有可能忘带;不能搜索;不能提醒。

所以我还是希望在电子GTD工具中选择一个。我对GTD工具的要求:

  • 符合GTD
  • 随身携带,使用方便
  • 能快速查找
  • 能提醒
  • 能备份

智能手机上很多GTD或TODO应用,尤其是iPhone上。早就在Twitter上看到不止一个人说OmniFocus是最好的GTD工具,没有之一。我也做了一些比较,也觉得OmniFocus是最适合的。在我做比较的应用中,OmniFocus是符合GTD且能在线备份的唯一应用。其他的GTD应用,或者不支持同步,或者需要电脑上安装软件,而OmniFocus支持WebDAV同步。

Omni Group提供了一个免费的WebDAV服务: http://www.omnigroup.com/sync/ 。但我希望能把所有的数据自己控制,到不是数据有多机密,只不过这样备份、察看起来更方便。

下面说说我如何设置OmniFocus的WebDAV同步。

Apache上的WebDAV

首先是要有台服务器,VPS现在的价格都不是很贵,要求不高的话,每个月几美金就可以。貌似现在Nginx对WebDAV支持不是很好,我还是选择了Apache做server。

如果有条件,可以设置Apache使用443 SSL端口,这样数据不会被中间人看到。

首先确认Apache加载了DAV相关模块,一般安装后缺省已经加载

LoadModule dav_module modules/mod_dav.so

LoadModule dav_fs_module modules/mod_dav_fs.so

然后,配置dav目录:

alias /dav /path/to/webdav
<Location /dav>
DAV On
AuthType Basic
AuthName “WebDAV”
AuthUserFile /path/to/apache/htpasswd
require user davuser
</Location>

重启Apache,就可以在example.com/dav使用dav功能了,MacOS/Windows都可以直接连接。OmniFocus上使用这个地址就可以同步了。如果有多个设备,也实现了设备间同步。

更进一步,使用dropbox备份

上面实现了数据同步,但没有备份。一旦出问题,无法恢复到之前的某个状态。要实现备份功能,可以通过dropbox来实远程备份。

由于众所周知的原因,我们访问dropbox需要一些技巧。dropbox是一个很不错的服务,免费用户有2G空间。如果是使用别人的推荐链接注册,还可以得到额外的250M。我的推荐链接是http://db.tt/NJRCuG6

另外,dropbox对教育用户有额外优惠,每推荐一个人将得到500M空间,而非教育用户是250M,需要的仅仅是一个edu信箱。参见:https://www.dropbox.com/edu。如果需要edu信箱,可以到这里看看。如果认证通过的话,通过邀请,最多可以得到18.25G空间。

在文本界面上安装dropbox: http://wiki.dropbox.com/TipsAndTricks/TextBasedLinuxInstall

安装后,用ln将dav目录link到dropbox同步目录下,就可以同步到dropbox了

OmniFocus放在WebDAV下是多个文件,如果需要,可以写一个cron,将文件打包放在dropbox下。

tar -cjf /path/to/backup-file.tar.bz2 -C /path/to/webdav dav

分类: GTD 标签: ,