《第16章 程序员职业规划九大工具箱》
消去现实(Diminished Reality)
大家都知道的「扩增实境」,是在电脑世界里产生出真实世界里所没有东西,而德国 Technical University of Ilmenau 为我们带来的这个「消去实境(Diminished Reality)」则正好相反 -- 它让本来存在现实中的物体从电脑中消失。示范影片中告诉我们,他们使用的方法是先将物体处的画质降低,待移除物体之后,再一步一步将画质调回来。虽然在效果上很类似 Content aware fill,但背后的原理并不相同。
http://diminishedreality.com/
http://grail.cs.washington.edu/projects/videoenhancement/videoEnhancement.htm
mac下的代码编辑器
最近在搞LEGO,发现BricxCC没有mac版本,无奈,哎只好用没有GUI的command line。。。所以找了几个代码编辑器:
Vim:http://www.vim.org/
Emacs:http://www.gnu.org/software/emacs/
周期定时器:一个Flash Player10.1中不得不关注的特性
在Flash Player 10.1中,Adobe引入了一个全新的Periodic timer定时器概念,它可以改善浏览器中swf内容的CPU使用。在浏览器中的swf文件在不可见状态下(如窗口最小化,隐藏标签tab或页面滚动到swf文件以外的区域)会自动调节以降低资源消耗。(注:之前的Flash Player版本虽然不会渲染图形,但仍然在全速运行AS脚本,音视频编码解码等。)具体改变如下:
可见状态下:
1)SWF的帧频frameRate会被限制和校准为Jiffy时间模式(如最高60fps),但是目前的10.1 beta3仍然保留最高120fps的限制,这在正式版中将会被改变。
2)计时器(AS2中的Interval和AS3中的Timer)也会校准为Jiffy。
3)LocalConnection也同样会被校准。因此消息从一个swf文件到另一个swf文件至少需要33ms(也有说是40ms)。
4)Video不会做改变,他们可以在任何帧频下播放而不受影响。
不可见状态下:
1)SWF的帧频被锁定为2fps,不进行任何渲染。
2)计时器(AS2中的Interval和AS3中的Timer)被锁定为最多2次/秒。
3)LocalConnection也被锁定为最多2次/秒。
4)Video视频解码(不渲染和显示)只占用CPU空闲时间。
5)为了兼容音频,当swf中有音频在播放的时候,swf的帧频会被调整为8fps,同样swf中计时器和LocalConnection也做相应调整。
应该说这个特性非常有利于网络上flash应用的普及,但是也存在着潜在的风险。比如某些情况下,我们的应用程序需要在不可见的时候仍然保持着正常的运转,比如计时器的正确运行,某些事件按时发生,某些下载任务及时进行等等。当swf的帧速下降到2fps的时候,其影响是显而易见的。因此我们需要在swf不可见的时候仍然保持较高或者正常的帧速。目前有两种解决方法:
利用播放一个音频来使swf在不可见状态下维持8fps:
var gs:Sound = new GhostSound();
gs.play(0, int.MAX_VALUE, new SoundTransform(0));
用js的setInterval方法去调用swf的ExternalInterface.addCallback的方法,从而间接实现一些在不可见状态下必须全速运行的一些动作:
setInterval(callSWF, 50);
function callSWF()
{
var swf=document.getElementById("swfID");
if(swf)swf.execSomeMethod();
}
倒车
POLO要上第5代,要做iPhone和online版本的倒车游戏,帮忙找了下:
LEGO MINDSTORMS NXT 2.0
问题描述:在mac下装LEGO的软件,装好后发现没有可用程序,然后网上找啊找,找到以下方法:
To install LEGO MINDSTORMS NXT 2.0 on Mac OS 10.6 (Snow Leopard)
1. Copy all files from the MINDSTORMS CD to a folder on your desktop.
2. Open that folder and look under "Parts".
3. Locate MindstormsUnivEdu.pkg or MindstormsUnivRet.pkg.
4. Right-click (control-click) and choose "Show Package Contents".
5. Navigate into the Contents/Resources directory and delete the "preflight" file.
6. Close this package and run the meta-package from the desktop to install MINDSTORMS NXT
试了,无效,然后再找啊找,找到LEGO针对Snow Leopard补丁:http://mindstorms.lego.com/en-us/support/files/Patches.aspx
问题解决:下载其补丁,会再桌面生成一个安装光盘的copy,然后会自动进行安装。一切OK了。
《钢铁侠2》
iProcessing
iProcessing is an open programming framework to help people develop native iPhone applications using the Processing language.
增强现实(AR)技术概念片
Resource of LEGO NXT
官方网站:http://www.lego.com/en-US/default.aspx
最大的中文乐高机器人社区:http://www.cmnxt.com/
Robofun机器人论坛:http://www.robofun.net/forum/forumdisplay.php?fid=19
nxtprograms:http://www.nxtprograms.com/index.html
台灣樂高同好會 TWLUG:http://www.twlug.info/
BricxCC(最好的NXC IDE,可惜只有windows版):http://bricxcc.sourceforge.net/
NBC & NXC(编译器,没有IDE):http://bricxcc.sourceforge.net/nbc/
LEGO MINDSTORMS Education NXT 帮助与支持:http://www.cmnxt.com/guide/start.htm
LEGO各种搭建工具:http://www.cmnxt.com/thread-2018-1-1.html
NXC in Xcode on Mac:http://www.mastincrosbie.com/Marks_LEGO_projects/NXC_in_Xcode_3_on_Mac_OS_10.5.html
官方的一些资源:http://www.lego.com/education/school/default.asp?locale=2057&pagename=softu&l2id=3_2&l3id=3_2_4&l4id=3_2_4_2locale=2057&pagename=softu&l2id=3_2&l3id=3_2_4&l4id=3_2_4_2

