Cliff 的笔记

记录一些心得和思考

Cubian X1 on Cubietruck

Cubietruck是一个开发板,性能略优于Raspberry Pi。自13年入手以来,在我家作为服务器勤勤恳恳的工作了2年了。之前也有记录过笔记。近期准备重新发掘一下它的功能。记录一下从零开始的过程。 Cubieboard实际上是一个系列,我手上的是第三代产品。截止到现在(2015年底),第四代已经在售,第五代原型图…

2015 年 11 月 13 日

Funambol 的 SyncML 实现研究

工作要求要实现Firefox OS上的SyncML协议,找了一下居然没有现成的开源js实现。只好几方面下手,一边学习协议,一边尝试参考其他实现代码。这就找到了Funambol的实现。实际上Funambol的实现也有些年头没更新了,说明一直没人把这东西当回事。 首先是Server,下载地址在这里,Server运行倒是很简…

2015 年 07 月 31 日

软件项目开发和管理随手记

最近基于Easyrtc/Angular在搞一个Web即时通信软件,除了Angular也没研究啥,不值一写。不过关于软件项目开发和管理有一些零散的想法,随手记一下。 关于测试驱动 测试驱动的确是好东西,但为什么国内少有公司推动?我觉得原因其实很简单:看起来太贵了。 打个比方。如果一个软件依靠黑盒测试能做到80分,按照传统…

2015 年 05 月 08 日

怎么看 Spring4 的 Demo

前几天看到一篇文章,Web研发模式演变(链接已失效),对于前端后端的看法跟我最近的一些思考很搭。为了向全栈发展,借前几天做完了WebRTC前端的动力,打算再去看看后端。当然是熟悉的Java,熟悉的Spring。一看吓了一跳,Spring现在完全不是以前的Spring了,所有的Demo一概看不懂。那么几行代码,完成那么多…

2015 年 02 月 04 日

WebRTC 怎么用

背景就不多说了,无非是程序员的无聊吐槽,大家用手指头想想也知道是怎么回事。 问:WebRTC是什么? 答:是浏览器实现的一套用于p2p连接的接口。 看到主谓宾了吧。WebRTC是......接口(也可以说是标准啦)。所以不要以为它是架构,或者是工具库(当然它包含native接口库),或者是什么万能灵药。 问:WebRT…

2015 年 01 月 11 日

次世代 HTML5 应用应该怎么写

最近一段时间,由于工作原因,研究了一下WebRTC,顺便搭了一个简单的demo。不过今天不想谈WebRTC,只想记录一下做这个demo的感受。 题外话,虽然以前做增值业务时写jsp出身,但那是十年前给手机写的网页,完全不需要javascript,再加上我对html和javascript一直持鄙视态度,自然也就没深入研究…

2015 年 01 月 10 日

闭源开源与其中庸之道

对技术企业,特别是国内的企业而言,选择闭源还是开源,可能根本不是一个选择。因为从来没有人有义务将自己的工作向大众公开,任人分析获取。公司是逐利而生,自己的东西都公开了,利润来源于哪里?这对每个企业的领导人都是放在第一位的问题。因此开源从来不会成为企业的首选。 然而,从近年来的一些例子来看,开源和闭源之间并非楚河汉界一般…

2014 年 12 月 03 日

OpenWRT 和 mwan3

家里路由器是Buffalo G450H,因为之前用的ColorBox系统的DDNS有点问题,所以今天来了兴致,刷了OpenWRT最新的BarrierBreaker版本。其他的配置都很明确,就是单线多拨费了点功夫,记录一下。 参考资料在这里。 概念上几个关键点是这样的: 需要装kmod-macvlan,修改启动脚本,在…

2014 年 11 月 01 日

Firefox 2.0 Camera 加连拍功能

最近很懒,由于做的事情太杂,太久没写东西了,今天随便写点。 之前在Camera里面加连拍是一个取巧的做法,也就是直接设置parameter里的连拍参数,好象是burst-num之类,然后下发一个longshot的cmd消息打开连拍,最后改一下返回照片时的指针处理就可以了。很明显,这种方式把事情全部丢给了硬件来做,因此是…

2014 年 09 月 11 日

Firefox OS Camera 应用修改(Gecko)

Gecko层跟HAL层通过消息交互,控制Camera硬件。所谓控制Camera硬件,其实就是向Camera硬件设置参数或发送命令以及接收响应。对应的几类做法如下: SetParameter/GetParameter相关功能,这类功能只需要写参数就可以使用。根据参数的不同, 功能可能立即生效或重启camera硬件后生效…

2014 年 06 月 30 日

Firefox OS Camera 应用修改(WebIDL)

近期需要对Firefox OS的Camera做一些修改,主要是增加一些功能实现。由于相对于Android来说, Firefox OS的接口实在是太寒酸了,所以只能通过增加接口的方式实现。从整个功能实现的角度上来说,包含两部分:Gaia<->Gecko之间的接口,Gecko<->HAL之间的接口。…

2014 年 06 月 12 日

WEB 工程目录结构与持续集成

现在的WEB工程目录,按照maven的“约定优于配置”的习惯,基本就是这样的。 pom.xml: maven配置文件 src/main/java:java源文件 src/main/resources:配置文件放在这里,比如db.properties,这里是maven-resource-plugin能处理的目录,放在别…

2014 年 05 月 08 日

Gecko 字符串 debug

Gecko中有多种字符串,如nsString/nsCString/nsACString/nsAString等等。打Log时要转成char*处理,几种不同字符串转换方法如下: nsString:NS_LossyConvertUTF16toASCII(string).get() nsACString:PromiseFla…

2014 年 04 月 21 日

Firefox OS 多媒体调试备忘录2(AAC)

还是从Bug开始,为什么AAC这种格式Mozilla号称支持,却扫不出来?先说改法: gaia/apps/music/manifest.webapp,需要加入audio/aac格式。 gecko/toolkit/content/devicestorage.properties,需要加入*.aac。 gecko/net…

2014 年 04 月 09 日

Firefox OS 多媒体调试备忘录(AMR)

问题起源于一个Bug,为什么Firefox OS的音乐播放器可以播放amr,而Firefox OS浏览器里面打开amr文件链接却无法播放呢? 抓了一堆Log,正常的Log应该是这样的: I/nsURILoader( 1270): DispatchContent I/nsURILoader( 1270…

2014 年 04 月 02 日

Cubian on Cubietruck

Cubietruck买来就是为了当服务器用的,所以一开始就想着装命令行系统。试了一下lubuntu server,发现无法识别我的罗技无线键鼠;然后发现Cubian可以,于是今天开始折腾Cubian。 作为Linux初哥,先参考Cubian自己的教程。安装好说,基本就是用写image的工具把镜像写到SD卡。到了实际运行…

2014 年 03 月 27 日

持续集成与版本号

持续集成是我所见过的最有效的改善软件质量的方法。不过往往落后的软件企业都意识不到这一点,比如我所呆过的几家公司😂 版本号是联系QA和RD的纽带。我一直觉得版本号应该是三位一体的,也就是说有三个版本号必须是一一对应的。三个版本号包括: 文件名版本号:也就是提供出来的生成档,必须有个版本号。比如app1.0.apk。如果…

2014 年 02 月 28 日

Firefox OS 1.3 增加 WBMP 支持

WBMP是MMS中使用的一种图片格式,在PTCRB认证里面有需求。Mozilla之前在Firefox 1.1中加上过,但后来又去掉了,理由是这格式header太简单,不安全。可是认证没法过这事搞得大家都很纠结。这次这个破事掉到我头上了,没办法,硬着头皮上吧。 首先是找资源,Mozilla自己的Bugzilla上倒是有不…

2014 年 02 月 27 日

htmlcleaner 抓取网页

htmlcleaner是一个分析网页的库,用起来很方便。抓取网页这事其实有很多想法可以发掘,比如我这次是做了一个下载漫画的工具,放在这里。这是一个android应用,是我为了配合布卡漫画看本地漫画做的。顺便说一句,下一步的想法是把这类功能放到浏览器插件里面去。 其实这事技术上乏善可陈,就是从html文本中使用XPath…

2014 年 02 月 17 日

Firefox OS Camera

为了调整rotation问题,周末跟了一天半时间,跟的很散,简单记一下。 Firefox os版本是1.3,板子是msm8210/8610共用配置。代码位置如下: 应用层(Gaia)部分:gaia/apps/camera 框架层(Gecko)部分:gecko/dom/camera; 还有android的一部分在fra…

2014 年 02 月 17 日

Top