Cliff 的笔记

记录一些心得和思考

关于低成本信息系统组建的思考

把自己放在老板的位置上就可以发现,到处都是花钱的地方。虽然信息系统对于公司来说是很重要的基础设施,但公司初期是否可以以尽量低的成本来构建一个灵活可扩展的信息系统,是一个值得讨论的问题。 信息系统的定义在wiki或百度百科上均有,不再赘述。对于公司来说,信息系统应该是帮助公司管理和利用自身的信息的工具。通常来说,公司的业…

2016 年 06 月 16 日

几个 PC 传屏到 Android 方案

朋友的软件公司,客户要求提供一个PC(Windows)传屏到Android的解决方案。 一开始需求不明确,当然是VNC最省力。TightVNC的Windows版本源码可用,MultiVNC的Android版本源码可用。联调可以连上。唯一可惜的是MultiVNC的Discover功能不可用。不过这个功能只是用mDNS查…

2016 年 06 月 15 日

tightvnc 在 vs2015 下编译的问题

tightvnc是一个vncserver/viewer的开源实现,但原始工程是在vs2012下编译通过的,在vs2015中由于一些改动,导致无法编译通过。需要做如下修改: 编译问题,viewer-core中的RemoteViewerCore.cpp中,1206行,需要把const char改成char 链接问题,tv…

2016 年 06 月 08 日

策略路由设置

服务器有两个外网连接,eth0上的PPPOE是一个,wlan0是一个。从服务器出的时候默认走的ppp0,这个不用设置就好了。但从wlan0进来的入口就不通,于是学习了一下策略路由的配置,简单记录一下。 策略路由要处理本机的路由表,不是route -n看到的那种,而是在/etc/iproute2/rt_tables中可…

2015 年 11 月 18 日

Armbian on Cubietruck

折腾无止境,之前在Cubietruck上搞定了Cubian X1,虽然Cubian确实不错,但还是有几个缺点: 基于debian wheezy,有点过时 路由重启时,wlan0接口无法自动重连,原因不明 基于以上原因,我找到了armbian,基于debian jessie,够新。基本上Cubian X1的所有设置都…

2015 年 11 月 18 日

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 日

Top