-
blog重生
2010-01-14
-
matlab report
2010-01-02
现在很想也正在搞这样一个东西:写一个matlab experiment script,在生成结果的同时,也生成一个word document report。这样不用总是copy & past图片,或者数据了。literate programming有些类似。不过也不一样。感觉上不是很麻烦。不过有些cross-reference会有问题。本来想过latex,但是公司几乎都用word。而latex转换到word似乎并不方便。用word api倒也很方便。
-
signal
2010-01-02
现在搞语音处理,以前搞图像处理,都会涉及到模式识别,线性代数,几何,概率统计,离散数学,工程数学,等等等等。感觉上纯属搞科学,搞算法。这些东西如果是应用,一般人也感觉不到。只是一个很小的算法,被集成到硬件,或者软件里面。
既然搞这一行,也就注定数学是最重要的。而各种各样的软件技术,什么框架,什么云,其实跟本行几乎是没什么关系的。至于工具,注定了要用matlab或者C。技能之二,则是写paper,写report。
-
圣诞礼物
2009-12-27
收到一张罚单,闯红灯,75块钱
这下人生完整了
当时有点儿着急办事儿,看到黄灯,感觉离得不远,就踩了一下油门冲过去,记得中间是变红了,没想到竟然被拍照,还吃了罚单
-
乱七八糟
2009-12-27
info, data, model, process, control, program
一切都可以看作是数据和对数据的处理,或者分析
而数学,则是处理的核心
逻辑算是数学的一种
数学之外,就是设计
无论是一个产品,还是一个程序,
数学用来解决问题
设计用来满足体验
设计也用来满足演化的需要
设计建立了人与系统沟通的桥梁
系统的正确性,健壮性依赖算法
而系统的可扩展性,可维护性,可用性则依赖于设计
设计属于艺术
算法属于科学
搞研究主要是搞算法
算法是不可重复的
也就是说,一旦一个算法被提出来,就没有再研究的必要
所以呢,算法似乎是越来越稀缺的资源,越来越困难的领域
而设计则不同
同一个算法,可以写到各种不同的类库里面,这些不同的实现都有存在的必要
一个好的设计,可以不断的重复使用
就如同汽车,其实看起来都差不多,但并不影响他们都跑到路上
搞研究就不行了,算法差不多的话就不算创新,也就不能发表,也就几乎没有意义
解决问题也是一样,如果有了好的解决方案,人家也不会找你
既然找你,问题也就肯定很难,以至于需要你来发明新的算法
所以呢,搞研究肯定是费脑子的事情
而设计系统呢,则主要是设计,是艺术,不需要高深的理论,不需要知道什么线性代数,不需要知道什么SVD
而现代化呢,似乎科学跟设计完全分离了
学术界和工业界,两个不同的世界
互联网的基础架构是科学还是设计呢?当然是设计。
设计必然有设计相关的科学,或者原则
-
乱七八糟
2009-12-27
发现工作之后更为前途担忧
读书的时候觉得自己的前途就跟迷雾一样,不知道以后会干什么
以为定了工作以后的大致方向也就定了
如果是去公司编程,那我以后就走编程路线
如果是去公司做研究,拿以后就走研究路线
现在的公司主要是做研究,作信号处理
以后是否就一直走研究路线?
这条路线走到底又是什么?
像kwan这样开公司?像以前老板那样做教授?还是一直做一名研究员?
觉得自己的编程技术每天都在落后
被趋势抛得越来越远
是否有一条编程和研究的中间路线呢?
其实kwan的公司已经是离这条路线最近的了。
kwan不希望仅仅是研究,kwan也希望能有产品,公司能够发展。
但是目前仍然处于有什么食物吃什么的阶段。
慢慢积累吧。
-
unsigned int or int
2009-12-24
决定用int
Lua里面基本上没有unsigned int
OpenCv里面的CvMat也是用int
另外去掉#define M_FLOAT double,全部直接改成double
-
automation principle
2009-12-17
enable one task to be completed by one command
比如安装一个东西,比如给汽车加速,比如做饭
在pragmatic programmer里面叫don't use manual procedures
related: DRY Don't repeat yourself; single responsibility principle
-
lesson
2009-12-17
full understanding occurs if and only if implementation is did
-
iteration
2009-12-13
refactoring其实是快速,轻量级的iteration
iteration的概念很早就有了
refactoring, iteration的应用其实可以很广泛,不仅仅是代码
比如用到report,不断的修改错误,添加新的内容等等
可以用到自己知识体系的构建或者对事物的理解,不断的复习,不断的学习新的体系,不断的构建更完整的体系
-
convention
2009-12-13
有很多的参数配置
每种配置都需要输出文件
程序需要根据配置来读入文件
也需要根据配置来构造变量名什么的
很多很多的批量处理
很多很多不同类型的处理结果
用matlab scripts
解决办法是各种各样的convention
比如实验结果输出的目录结构和文件名
比如数据结构的变量名
convention over configuration似乎是自然的选择
另外还有table driven
第一列是什么,第二列是什么,这些都是convention
开始是用变量来表达不同的域,但是那样重复代码太多
不如直接一个table
另外还有matlab scripts可以做运行单元,互相嵌套
根据convention,函数都不需要定义
这样会有一些陷阱,但是感觉也还好,调试也不难发现
matlab的eval语句也很强大,动态运行一个字符串的代码
-
doc
2009-12-13
前几天写文档
需要把图表结果贴到word里面
很多很多的图
每个都需要设置大小
每个都得copy paste
每次table也是copy paste
很想找个工具能自动生成doc文档
有啥工具呢?
-
手机
2009-12-13
折腾了一个月,还是回到原来的状态
开始买AT&T samsung的一个智能手机,没有data plan,但是也没有wifi,手机免费
到了没几天
又看到verizon的htc droid手机,30块钱,没有data plan,有wifi,android操作系统
于是把att取消,买这个
手机到了,就把自己以前的tmobile的moto给老爸,包括sim卡,
手机试用了一下,可以wifi,上网不错
老婆把tmobile的取消,准备以后用这个
我还是担心会不小心用3G收费
老婆打电话
不打不知道
一打吓一跳
竟然是有data plan的,每个月30刀,wk~
明明买的时候是选择了no data plan的
上网一查,果然有data plan,但是不算在monthly charge里面,只是隐藏在第二个页面里的features里面,wk~,太黑了
手机是在letstalk.com上面买的,上面明写了no data plan required
当然,后来再查已经查不到了
老婆再打电话给letstalk,对方立马说是他们的错误,wk~
我看不是错误,是故意的
于是又退掉,有可能还得收费,因为当时在网上付账的那一天,手机就自动激活了!wk~
今天又签了以前tmobile的plan,有discount,分钟多,最便宜,就是手机没那么花哨
昨天网上一搜,发现很多人中招了,也在抱怨。而deals2buy也声明那是个错误
-
docs elements
2009-11-23
今天去公园,回头又把很多年前看的pragmatic programmer拿出来乱翻了一下。注意到model, view这个概念。一个核心的原则是model只能有一个,是最权威的信息来源,其他的都是views,都最好由model自动生成。文档就是一个例子。表现形式可以多种多样。那么model是什么呢?这个问题等会儿说。model如何写呢?有很多的工具,每种工具相当于一种语言,比如一般用的office。office其实是model和view的综合体。所以其实很容易混淆model和view。后果是不熟练的人改个字体就得到处改。好一点儿的方式是用stylesheets。程序语言里面有自动文档生成器。每种生成器的语法就是一套语言,比如javadoc, doxygen等等。另外还有docbook这样基于xml的模型。还有restructured text。其实不管什么类型,文档核心的概念都是差不多的。就像程序设计语言,变量,函数,类,继承,这些概念都是一样的。那么文档的核心概念是啥呢?也不知道有没有书专门讲这个。先自己总结一下。
回顾一下自己写的博士论文。首先是章节(chapter),属于第一级。章节下面就是二级,三级的内容。每一级下面都可以有最底级的文字内容,一般以段(paragraph)来分隔。这几样,就是文档的基本结构了。然后一个核心而且相当重要的概念,就是引用(reference)(可以想象成变量)。引用是internet的基本机制,是语言的基本机制。而在传统的文档中,这一点做的相当不好。比如写paper,一般在文档末尾列上一些引用别人的文献,对这些文献,文章里面肯定会提及,也就是要把引用说出来。怎么说呢?方式是写出序号,比如[1], [2-4],或者,作者名加上文献年份。总之,就是得给个id号。这个id号,要对应文章末尾文献的id号。很显然,这种方式无法扩展,比如id号只能对应于一篇文档。另外的一个严重问题是改起来极不方便。所以必须得用一些工具来搞,比如endnote。文献是一种外部引用。还有内部引用,比如图和表。还有公式。这些都会经常需要引用。最好的解决方案是用专门的工具,比如endnote,或者word里面的引用标签。这些引用工具可以自动进行编号,索引。其实章节也需要引用,用来生成table of contents。刚才说到图和表,这两样是内容的另外两个基本元素。第一种基本元素是文字。一个实用的文档一般都要包括图和表。有一句话是一千个文字也抵不过一张图。文字,图和表,这三样基本上就足够组成一个文档了。对于程序文档来说,最好还有一些code samples,还有对应的引用,这些东西需要特殊照顾。现代的media,还包括video,audio,这种东西,慢慢都会包含到文档里面来,随着电子书的普及。
回头再说说wiki,还有internet。里面的基本元素是页(Page),段(element)和引用(link)。
还有啥?想不起来了。docbook里面应该有完整详细的定义。
现在是问题呢,就是如何用一个工具或者语言来将这些概念表达出来。这得看每套工具或者语言的使用方法。无论是什么工具或者语言,其实都应该先想好概念模型,然后再将模型表达出来。就和设计程序一样。所以,写文档,应该当作程序来写。而当程序写的要求,就是每种概念的内容,都要使用特定概念的语法,或者标识。而不是“粗体的表示一级”这种混淆表示和模型的方式。
最后说说工具。也许,每种问题都有对应适合的工具。很想知道,不同语言的文档之间可以互相转化么?是否有一个语言,这种语言写的文档可以转化成所有其他的语言的文档,比如各种各样的wiki语言?docbook可以么?
-
netbeans qt creator
2009-11-22
昨天试用了一下
首先都是免费的,跨平台。
qt creator可以直接用microsoft的compiler。项目配置基于.pro,就是得自己写qmake文件。不支持重构。速度很快。搞qt的应用应该是最方便的。以前用visual studio写qt应用,每次配置moc感觉不爽。也装了qt的插件,但还没有用成功过。支持svn。界面简洁,清爽。帮助方便。实时语法检查。
netbeans似乎必须得用gcc的工具。启动也还凑活,不快。支持重构。实时语法检查。用mingw还得装msys, gdb。
回头说visual studio吧。主要问题是很贵。要是三十美金我还愿意掏钱。express版本功能太少。另外是重构和code completion,现在还是用盗版的visual assist。如果不是开发基于什么mfc,或者com,或者atl的应用,其实是不需要visual studio的。
-
chrome os II
2009-11-20
基本上,主要是,linux + chrome, 配一些驱动
http://www.chromium.org/chromium-os/chromiumos-design-docs/software-architecture
没有exe
网页就是应用程序
Gears开始发挥主要作用
很好奇用户数据放在什么地方。答案是网络上,或者自己的移动硬盘上。
网络程序怎么访问本地数据呢?
其实Chrome从一开始就打算做成一个操作系统。一个web操作系统。
android定位是嵌入式操作系统,其实相当于传统的操作系统。
-
乱七八糟
2009-11-19
这几天感觉很累
也许是因为工作忙的缘故
脑袋每天都全速运转,想工作上的问题
每天晚上9点左右就觉得非常累,什么也不想干,想躺着
夜里做梦,噩梦。感觉从半夜就开始做,做到早上醒来。
昨天下午开了个会,项目这个月底要做个人总结
手头还有些东西没有完成,这个礼拜得弄完
一个是这几天搞的density weighted nystrom method。一个是用saliency的方法。一个是Bulent做的东西,帮忙看看。
-
上个礼拜的照片
2009-11-14
-
pca
2009-10-30
最近pca用的比较多,以前听说过,学过,就是没用过
现在用了一下,体会深了很多
算covariance matrix其实也相当于算pca
算基于cov倒数的距离相当于在pca变换后的对轴进行校正后的距离。
轴校正后点的分布成为一个圆
现在的问题是优化计算,每次有大量点和上次重复。只要加上新的点XX‘去除旧的点就可以。均值算是一个点。
//半夜没睡好,想这个问题去了。
-
乱七八糟
2009-10-26
这两天脾气异常暴躁
不知道是不是身体劳累的缘故
已经很久没有参加任何的教会活动
也没有读经,也没有祷告
以前老婆坐月子的时候嘉嘉再闹,我再累,我也心平气和
现在嘉嘉调皮起来我开始有些受不了
前天打了嘉嘉一下后
我发觉自己已经变成一头可怕的猛兽
圣经说爱是恒久忍耐
我却不知不觉中丧失爱的能力
为什么会这样
我该怎么办
我想我必须每天花一些时间在神上面了
-
dll crt msvcrt.dll visual studio 2005
2009-10-22
http://www.itwriting.com/blog/?postid=261
http://kobyk.wordpress.com/2007/07/20/dynamically-linking-with-msvcrtdll-using-visual-c-2005/
nnd,花了好大劲
COM模块老是load出错
现在又体会到静态库的好处了
动态库看似依赖少了,其实依赖只不过是隐藏起来了。而且把问题从链接拖到了运行。
-
google sketchup ruby photomatch
2009-10-19
pages = Sketchup.active_model.pages
page = pages.add_matchphoto_page photo camera
一项期待已久的特性
如果早点儿出来,当初就不用那么费力绕圈,还不方便
现在calibration可以单独写一个软件,然后导出camera的参数,再从sketchup里面load进来
有了这一项,基本上就可以整出专业的基于图像的建模工具了
以后还可以加上procedure modeling,功能就比sketchup本身的photomatch强大多了
-
青春在漂泊中流逝
2009-10-18
作了一个梦
初中毕业的场景
大学的人物
出国的心态
全部混到一起
梦见自己在宇宙中飘荡
不知怎的抓住一只蓝色的懒人拖把
我知道我拿到了出国的offer
非常高兴,也非常庆幸
我回到初中的教室,打开自己的小书桌,一本一本收拾我的书
屋子里很暗,还有其他的同学
有些书要寄走,有些书想扔掉,又觉得可惜(这不是几个月前博士毕业搬家时的状态么?)
书都是高中时那种的辅导材料
在毫无准备的情况下
老师宣布我们毕业了
我觉得有些措手不及
好像还没有和同学好好玩玩
我们每个同学都走向老师,向老师汇报自己的毕业后的走向(大学本科毕业时就是这样)
这时同学都成了大学本科同学
老师周围有些拥挤
我很高兴的走向老师,说自己出国。带着一丝自豪。
我看到旁边有yzy,他也出国,还有一些其他的同学,hyk
有人说明天踢球,还有活动
我想这是毕业后最后一次跟同学的机会
我已经幻想到在操场上和大家踢球的场景
向老师汇报情况后我们出来
大家站在走廊里面
开始我前面站着dyf,接着发现lsp也在旁边
我们在聊出国的事情
dyf是最早确定出国的
我跟他们说我抽(奖)到一个懒人拖把。懒人拖把似乎就是一个出国的offer
lsp有一个offer,但是还要等什么手续
他们说,哎,我怎么没有抽到?
我想,其实我不过是幸运的中奖了
后来就醒了,还没有来得及去踢球
发现自己躺在异乡
回首过去,一晃就是十几年
而今已经有了老婆孩子,开始了自己的事业
真是恍若隔世
觉得自己其实是不断的漂泊
每隔三五年就从一个地方漂到另外一个地方
总是没有根
过去的同伴就像舞台的演员
一幕一幕掠过
我也不过是其中一员
从一个舞台跳到另一个舞台
而年华,就不知不觉在舞台中流逝
慕然回首,却是在梦里
-
karaok
2009-10-14
新买的卡拉ok没有音频线输入,只能放cd
老爸带的vcd也不能放
刻cd,可是中途出错
再刻,总是失败
昨天试,今天又试
失败N次
终于发觉CD-R只能写一次,wk~
翻箱倒柜,所有的盘全是CD-R,wk
之前还浪费了一张
这下老爸没得歌听了
-
新的事情
2009-10-13
一下子多了很多
公司里面几乎所有的事情都需要参与
昨天的demo据说还可以,没有出漏子。别人提了很多新的需求,看我们有没有实力做。他们还想要一个demo的程序。所以这个礼拜得把demo完全整完,把最近新作几个功能模块都做出demo,还得写文档,可能还要录视频。对方提了一个合理的需求,看似简单。但是现有的架构要改动支持这个需求会非常之麻烦。先让jenson想想看吧。也想趁这个机会让jenson放弃之前的架构。
现在svn server在我的pc上面,准备放到另一个旧的pc上面,就是之前一堆病毒的机器。准备装一个trac。以后还得做build automation。backup automation。test automation。
bio方面有可能新来一个项目,需要快速出结果。
另外有两个项目,需要和别人合作一起弄。
-
ASUS K70IO-C1 Notebook
2009-10-13
//可以用来demo cuda
http://www.buy.com/prod/17-3inch-hd-t4300-2-1ghz-4g-250g/q/loc/101/211960027.html?adid=17653
ASUS K70IO-C1 17.3" Laptop Intel Pentium T4300 2.1GHz, 4GB, 250GB HDD, DVD-Writer (DVD-RAM/±R/±RW), NVIDIA Geforce GT120M Graphics, Windows Vista Home Premium
-
版本管理
2009-10-12
昨天花了一下午搞bug
今天就做demo
老板很紧张
jenson很紧张
我也很紧张
昨天揪出一个bug,后来基本上没怎么出问题
深深觉得自己还不够专业
自己对自己的东西测试不够
以前觉得微软一个开发人员配一个测试人员很浪费,现在觉得非常必要
很多问题不进行长期彻底的测试根本发现不了
昨天的那个程序,在四核的pc上基本上没出过问题,在两核的pc上,运行一个多小时才会偶尔出问题,在单核的pc上,好像也没出过问题
觉得以后应该专门整一台pc做测试,每天自动启动,run,记录错误
另外,还有一个版本管理的问题
开始时觉得是安装软件不是最新的版本,但是也查不出来
bug也不知道是什么时候修复过
以后应该每个release的软件都应该能查出一个build的版本号,包括major, minor,还有svn里面的head revision。另外还得加一个时间戳
每个release的版本都要记录什么bug改过,有什么bug等等
jenson以前在一个上市公司工作过很多年,说一个正规的软件开发会有很大耗费
也许是这样的
现在我们公司的一些demo的软件基本上就是我和jenson主要开发,有什么好的工具和方法呢?
或者,有什么书可以借鉴呢?
-
关系
2009-10-12
其实哪儿都一样,美国也不例外
无论是项目申请,还是名誉获得,关系都很重要
老板之前说有些大公司专门养了一帮人,负责跟别人搞关系
现在慢慢有些明白为什么第一代华人很少有在美国创业做大的
创业的都很少,存活下来的更少,做大的,基本数不出来
文化仍然是一个制约因素
-
yahoo pipes
2009-10-08
Pipes is a powerful composition tool to aggregate, manipulate, and mashup content from around the web.
//很强大,但还不是我想要的,我需要api
-
dna for the beginners
2009-10-05
