戴笠产品说

大概在2012年的时候,有一次用Gmail传一个exe附件,但Gmail说有安全风险,无论如何不给传;于是压缩了一下,谁知Gmail竟然能够识别压缩包,还是不给传;最后没办法,把exe改成ex,Gmail识别不了了,终于传过去了。

当时,我的第一个感觉是,Google衰落了。因为MSN传附件就是用的这种机制,把选择权交给了用户,这是在标榜我的系统是安全的,但你要是非要用非常手段绕过去,那是你的问题[……]

more

独立思考的代价

@苗林V 在微博上说:

对于产品讨论希望听到的是客观的理由,陈述这么做的好处,或者用数据来说话。但听到的越来越多的是某某产品也是这么做的、某某人说要这么做、我觉得怎么怎么样。产品应该每一个细节都有具体的理由,而且还要看到界面后面的逻辑规则。

记得以前有个朋友想做一个网络应用,我们给推荐了NoSQL的方案,他比较传统不同意,自然是一番争论,最后他说:要证明你的观点,我需要数据。结果是,讨论结束,[……]

more

另一个角度看开源

说起开源,某种意义上其实就是代码倾销,不是吗?举个例子:

有家公司需要一套图片处理技术,最初因为大家都是闭源的,只好自行开发一套,假如叫MyImage。

用了几年,人来人往的,这套技术缺乏维护,有点老旧了,需要更新。

这时,有人提出与其用之前代码,不如直接用开源,如CxImage或者FreeImage,原因如下:

  • MyI[……]

more

WordPress XML-RPC API添加获取指定分类的文章列表的方法

WordPress在3.4以后,增加了大量的XML-RPC API,看来是有心要替代以前Blogger,  MovableType,  metaWeblog API混用的情况,不过接口还是不够充足,比如:如何获取指定分类的文章列表

反复google没有找到解决办法,只好查看Wordpress的源码,没想到出奇的容易

WordPress XML-RPC接口是由wordpress/xmlrpc.php[……]

more

xcode项目文件引用问题

被一个小问题困绕了好久。

在一个ViewController类里声明了一个函数,然后在AppDelegate中调用,xcode一直报”may not respond to“的错误,反复检查都看不出问题

偶尔在参看类定义时发现,这个ViewController类竟然存储在一个项目文件列表以外的头文件里

原来,该ViewController类之前被声明过两次,前一次生成的文件保存在classes目录下[……]

more

iPhone多语言nib更新问题

使用xcode实现app的多语言非常简单,就3步:

  • 修改xib,增加不同语言版本
  • 添加.string文件,增加不同语言的xib
  • 修改代码使用NSLocalizedString调用string文件中资源

在增加了新语言版本的xib,出现一个问题,不管是在模拟器中还是真机中,界面都不会更新了。无论多少遍clean也没用。除非把应用删掉重新下载。

仔细研究发现,所以界面出现问题,是因为默认时候,n[……]

more

twiproxy更新到0.4.1

前几天对twiproxy做一个次小规模得更新,要说这次更新,前前后后只能用一个词来形容,那就是,莫名其妙:)

先说初衷,最早做twiproxy就是因为GTAP不支持xAuth,所以自己折腾一下,虽然众多不完善还是凑合了,可是最近不断有人在twitter商咨询,每次都是回复不支持,还不完善之类,说到嘴软,决定更新了,这不是莫名其妙嘛

再说,更新的方案,主要是两项:

  1. 合并GTAP 0.4.1的代码,[……]

more

折腾:SSH

墙越建越高,所以打算搞个SSH代理做私人网络用

据说使用虚拟主机就可以,据说Godaddy就支持SSH,据说必须要Linux服务器

于是先把服务器升级成Linux,没想到控制面板里没有这个升级项,写信给Godaddy,回复因为有SQL Server的数据库,无法迁移导致

貌似那个数据库只是测试用了一下没啥重要数据,干掉。

终于可以迁移了,N小时的等待,完成。

进入发现允许SSH,必须要再[……]

more

twiproxy – 基于GTAP 0.4的twitter API proxy

twitter终于封杀了basic auth,为了避免被拒之墙外,在Google Appengine上装了一个GTAP 0.4的版本,貌似Twitterrific可以用了,但Twitter的官方客户端还不能使用。

说起Twitter官方,那可是很纠结的一段。

最初还是tweetie的时候,特意买了一套,谁知不久twitter被封杀,tweetie不支持代理,等啊等,听说tweetie 2支持代[……]

more

CMake编译Qt

貌似有个CMake教程上说过“不要使用CMake编译Qt”,原因是Qt有自己的QMake,用CMake会费时费力,不过为了能把所有工程采用同样的编译方式,还是尝试了一下,的确很麻烦。

首先需要下载Qt SDK,因为打算用VS2010编译,所以下载了everywhere的4.7b2版本(注意:4.6.3不支持2010,强编会出错,4.7b2静态编译也会有同样的问题,估计正式版会有改善吧)

编译整[……]

more

正点下班1.5发布

正点下班是我在Android下开发的第一款软件,可以说是练手之作。它的功能非常简单,就是提醒你下班时间到了。功能上有点类似闹钟,但因为工作时间每天相对固定,比如8小时或者9小时,所以它可以更快捷,基本是一次点击,等待提醒就可以了。

1.5版增加如下特性:

  • 兼容Android 1.5即API Level 3
  • 增加取消当前闹钟的设置,之前没有这个,一旦不小心开了闹铃就只有关机一途,实[……]

more

VeryCD拦截自定义协议分析

一般来说,我们通过注册自定义协议,可以在浏览器中通过链接方式自动打开客户端程序。

不过,如果没有客户端程序就会导致无法访问的页面错误,如何才能够判断自定义协议在本地没有被注册,并弹出客户端的安装提示呢?

新装系统以后,意外发现VeryCD可以在没有安装eMule的时候会弹出提示,效果如下:

VeryCD_Download 

于是做了一点研究,希望能够实现一样的效果。

VeryCD网页采用YUI库,多数[……]

more

多层压缩等于不压缩?

从网上下了一个东西,zip的压缩包

解压是55个zip压缩包

再解压是55个rar的分卷压缩包

再解压才是真正的文件

一般压缩文件就是为减小文件个数,压缩文件占用的空间,那么如此多层的压缩当然是目的当然是进一步减少文件的大小了,那么效果如何呢?以此为例,如下表:

原文件大小

273,156,452 字节

[……]

more