时间

半 个多月,基本上没几天是11点以前回的家,就像压缩饼干一样;虽说学到不少东西,但是缺少那种酣畅淋漓的感觉,有时候真还有点力不从心("体力"的"力 ")。很多计划只能在心里念道念道了,都没胆量说出来,害怕一说出来就是:“要是有时间的话,我就…………”,多半就泡汤了。

算了,想想还是把自己半年内的想要完成的计划列一下,就算给自己壮胆,哪怕是留下个脚印,真等自己有空的时候再…… ;-) 我这么说也就意味着,想做的是排在该做的事情后边。无奈。

  1. 参加Google SOC 2006 python 社区scipy的课题,计划做电磁仿真的数值计算。可行度: 10%;工作量:80%;期望度:90%
  2. 计划用Turbogears搭自己的blog发布系统,当然,成形的话将会很快,然而考虑到和blogger同步、多用户管理、主题切换这些功能只能等等了。可行度:90%;工作量:20%;期望度:50%
  3. DIY手持无线电。可行度: 80%; 工作量: 60%; 期待度:60%
所以,时间真的是个好东西。

update: 原本这篇早该发了,花了两天时间和Honey一起把新Blog搭了起来。嘿嘿。遗憾的是,计划1已然过期了,可惜。

Technorati Tags: , plan

读书学习中

好笑的是由东南大学出版社的影印版的赠送的书签(右下)下边那只老鼠纹理分明,体态优美;与之相对应的中国电力出版社的中文版赠送的书签(右上)的那老鼠经过“翻译”以后变成了球状硕鼠,不仅胡子多了不少,而且其四肢完全隐藏在鼓鼓囊囊的身体里边,留下的只有四只爪子……

Technorati Tags: ,

vim jde note

配置篇

  • 启用或者禁用java在用户输入括号后自动提示参数
let g:vjde_cfu_java_para=0
  • 启用或者禁用 用户在用<c-x> <c-u>时显示预览
let g:vjde_show_preview=0
  • 启用或者禁用 在用户输入 . 时自动提示后面的部分
let g:vjde_cfu_java_dot=0
  • 启用或才禁用 使用一个图形化的提示窗口.(不推荐,太难看)
let g:vjde_preview_gui=1
  • 以下做为c++使用
let g:vjde_iab_exts='.cpp;.c;.vim;.rb'
  • 对指定名字的窗口进行调整,如下表示:
  • 对以__Tag_List__为标题的窗口,在垂直方向变化,进入时40宽,离开后变成20宽
  • 对以.prj为标题的窗口,在垂直方向变化,进入时24宽,离开后变为1
let g:floatingwindows= "'Tag_List',1,40,20;'.prj',1,24,1;'.vimproject',1,24,1;"

Photo

工程创建篇

在开始写一个java程序的时候,如果是一个简单程序,一切都无所谓.如果是一个比较大的项目.需要工程支持.在vjde的配合下,可以这样做.

  • 创建目录 project1 在你的工作目录上.
  • 打开 vim 并切换到 project1
:cd project1
  • 存储一个工程模板
:Vjdesave .vjde
  • 在.vjde里面,会有一个参数,你可自行打开并修改.如我的一个配置文件中,编译时的输出文件夹
let g:vjde_out_path='classes'
  • 源代码目录
let g:vjde_src_path='src'
  • 编译时使用的路径,用于代码补全时类查找,也是编译时使用,最好把输出文件夹加在此处.
let g:vjde_lib_path='lib/servlet.jar:lib/images.jar:class'
  • 如果有jsp类型文件,放在这里
let g:vjde_web_app='webapps'
  • 测试源代码路径
let g:vjde_test_path='test'
  • 系统中java命令的命令名字,默认在windows下为javaw,linux下java,理论上可以修改成为jikes
let g:vjde_java_command='java'
  • 修改完成后,你可以用
:Vjdeload .vjde
  • 或者这样加载
:source .vjde

Photo

编程开始篇

使用vjde,就可以使用已经存在的模板进行创建你的程序: 在图形界面下,可以从菜单Vim JDE->Wizard->New Class(with main) 开始创建一个你自己的类.它还包括一个main 方法. vjde提供了很多的代码模板可以使用,第一个模板被定义为在当前的位置添加模板的全部内容. 同时,你可以自己定义你自己的模板为你的每一类文件.它们都会被列在 Vim JDE->Wizzard的子菜里面. 你只需要把自己定义的模板放到 ~/.vim/vjde/java.vjde 即可被当作java类型文件的模板 ~/.vim/vjde/cpp.vjde 即被当作cpp类型文件的模板 关于文件类型,打开一个文件,然后用 :set filetype 即可知道当前文件的类型.

高级技巧: 各类模板是可以互相引用的.但是,我不作递归检查.

if !exists('g:vjde_iab_refs') let g:vjde_iab_refs={} endif if !has_key(g:vjde_iab_refs,'jsp') let g:vjde_iab_refs['jsp']=[ 'java', 'html' ] endif if !has_key(g:vjde_iab_refs,'cpp') let g:vjde_iab_refs['cpp']=[ 'c' ] endif
即是说 jsp引用 java 和 html的模板 cpp引用了c的模板. 当然,也可定义自己的引用.

Photo

编程日常工作篇

  • 代码补全
在默认的情况下,在gui环境下,用户在任何时候按下<c-space>即可进行代码提示. 如果要改变这个定义,请定义 g:vjde_completion_key let g:vjde_completion_key="<c-l>"
  • 添加引用的包.
通常,我们编辑的时候,比如,使用了 Vector numbers; 我们已经知道了 Vector 在 java.util里,或者一些类,我们不知道在什么地方,这个时候, 把Shu标话在 Vector 上, 在通常模式下,使用 <leader>ai 在我系统上,是 \ai 这个组合.即可自动添加 java.util.Vector 到你的 文件上. 如果有多个,则提示你选择一个你要使用的. 或者使用使用菜单 Vim JDE->Add import
  • 如果在编译时发现一个错误,就是无法找到一个类的定义,这时,可以使用:
Vim JDE->fixerror with import 来把当前这个没有添加的类添加到文件中来. 这个,必须使用 :make 或者 :Vjdec 编译时才能使用.
  • 对编译时提示的没有捕获的异常,也可以根据需要来使用 Vim JDE->fixerror with try/catch , 这会把当前的错误行包含在一个适当的try-catch块里.
使用 Vim JDE->fixerror with throws 则把这个异常定义为 throws ,添加到函数定义上.
  • 重载方法 Vim JDE->Source->override methods...
列出父类的方法,选择重载
  • 实现接口 Vim JDE->Source->Implement interfaces...
列出类的接口中要实现的方法,用户选择实现.
  • 生成构造函数 Vim JDE->Soruce->Generate Con...
把已经编译过的类中每一个成员变量做为参数,生成一个构造函数.
  • 添加 Singleton 接口 Vim JDE->Source->Add single...
在当前位置为类生成一个Singlton接口.包括一个私有构造函数,一个getInstance()方法,一个实例变量.
  • 把变量变成成员变量,局部变量,静态变量的小工具.
Vim JDE->Source->Extract ....
  • 把引用的要排序的包选中,然后,执行此命令
Vim JDE->Source->Sort import ...
Photo
编程提高篇 通常,在我们写代码的时候,我们会写很多重复的代码,如一个数据循环结构,一个Vector的遍历,一个System.out.println() , 甚至很多很多的,每天都要写很多遍的代码.

怎么办? vjde 提供了一个方法.

vjde 提供了一个iab的扩展.目前,是在输入模式下输入 <c-j>即激活这个功能.

在使用这个功能前.你可以定义好自己的要使用的一个模板:如果要用java 使用,存储为 ~/.vim/vjde/java.iab, 为c++使用,存储为~/.vim/vjde/cpp.iab , 在 .iab 前是文件类型.你可以为你使用的每一种文件类型创建一种模板

如,一个java 的模板按如下定义:

template out ; system out body System.out.println(|); endt template err; Sysetm.err body System.err.println(|); endt template fa ; for loop for array body for ( int i = 0 ; i < |.length ; i++) { } endt

这样,当你输入

out<c-J>
时,自动把本行展开成为:
System.out.println();
并把光标放在第一个 | 的位置.

更多的定义和使用,请参考

:h vjde-iabbr

Technorati Tags: , , , ,

heroes V

3DO时代的英雄无敌已经成为永远的回忆了。 在Ubi麾下的HEROES V 居然除了mini在线版。 注册、登陆、选择英雄种族、城市、装备部队、出城挑战、等email回复战争结果。就是这么简单的一个流程。

http://www.planet3dgames.de/images/content/Heroes_V_First_Facts_411x50.jpg 为了纪念那逝去的游戏时光,试的玩了一下 可惜的是,第一仗就败了……
update: 继续探索了一下,发现了好多类似的基于brower的在线游戏: Technorati Tags: ,

firebird 涅磐 firefox 重生

Generated: Wed Apr 05 2006 23:50:44 GMT+0800 User Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.0.1) Gecko/20060111 Firefox/1.5.0.1 Firefox1.5以上有自动升级的功能,也就是说出现新版本后自动下载安装,无缝升级。 Build ID: 2006011112 Enabled Extensions: [57]

  • Aardvark 1.1 类似 Platypus,单不能生成用户脚本。但可以方便的了解网页构架,浏览网页元素的属性
  • Adblock Plus 0.5.11.3 广告拦截。支持白名单,支持单正则表达式的匹配模式常常会出现梦幻一般的拦截效果。
  • All-in-One Gestures 0.17.4 鼠标手势扩扩展
  • All-In-One Sidebar 0.6.4 象opera一样的侧边栏,有强大的制定功能。让浏览器变得更干净
  • Bloglines Toolkit 1.6.0 Bloglines的工具。现在迷上了Google Reader,打算卸咯
  • BugMeNot 1.3 共享精神的延伸,自动从BugMeNot网站取出别人贡献出来的收费网站的用户名和密码。不过最近发现好多假帐号,艾,还好能够自动重试
  • Cacheout! 1.10 从google cache和coralcdn 里取出数据,右键点cacheout后就能看到从cache里取出的网页。可以当个代理来用
  • Codetch 0.3.6.20051230 让firefox成为类似dreamwave一样的网页设计平台.
  • ColorZilla 0.8.3.1 网页取色,网页设计者必备
  • CSSViewer 1.0.1 快速浏览CSS,有些鸡肋,准备卸了
  • CustomizeGoogle 0.45 基础上的一个扩展,让Google满足你的需要
  • del.icio.us 1.1 方便的使用del.icio.us的tag等功能
  • DOM Inspector 1.8.0.1 DOM查看器
  • East Asian Translator 1.1.1 东亚语言翻译,虽然转中文的比较少
  • EditCSS 0.3.5 在调整CSS后想立即看看效果的话,嘿嘿
  • Extension Developer 0.2.2.20050505 网页设计者必备!
  • Fasterfox 1.0.3 firefox加速工具
  • Feed Your Reader 1.5.1 替换Firefox中将RSS加入Live Bookmark图标功能的小工具,自动使用你指定的外部RSS reader订阅当前页面的RSS
  • FireBug 0.3.1 DOM查看 网页元件监视工具。网页设计必备工具。通过firebug的xmlhttprequest Spy功能可以获得xmlhttprequest传输的数据。哈哈,是不是很方便。在升级至0.3.1后界面漂亮多了
  • Firefox Extension Backup Extension (FEBE) 2.0 RC2 减轻重新安装扩展的痛苦
  • FireFTP 0.90.1.1 ^_^,在firefox中的ftp工具,其实还有一个IRC的扩展:chatzilla
  • FlashGot 0.5.9.993 调用本机下载工具
  • Flickr Sidebar 0.1.1
  • FlickrFox 1.0.0 和上边的差不多,在sidebar里边方便的浏览flickr的pp,FlickrFox的显示效果更好些,Flickr Sidebar的选项更多谢罢了
  • Forecastfox 0.8.5.3 天气预报
  • FoxyTunes 1.2 控制本地的音频播放器,支持mediamonkey、winmap、foobar、iTune等十数种音频播放器。告别在播放器和浏览器中切换的痛苦
  • FoxyTunes Skin - FS Aqua 2.0 FoxyTunes的皮肤,严格来说不能算扩展吧
  • Gmail Notifier 0.5.5.2 Gmail提醒
  • Google Safe Browsing 1.1 让那些流氓垃圾网站见鬼去吧
  • Google Web Accelerator 1.0.62.80 网页加速,代价再是多付出些内存
  • Greasemonkey 0.6.4 天才级别的插件,使用它可以改变网页在本地外观,添加附加功能……有极其丰富的用户脚本库。配合Platypus这些工具甚至可以在不懂编程的情况下实现这些功能!很多扩展都是建立在Greasemonkey的基础之上的,当然,你也可以利用它来创造自己的扩展。可以看看Dive into greasemonkey这本书
  • IE Tab 1.0.8 无可奈何,还是不得不在某些场合使用IE,譬如网上银行、考试报名之类。这就是现实啊 T_T
  • Image Zoom 0.2.3 方便的使用左键三击调出放大器放大图像,进一步放大在该状态下使用滚轮;也可以用右键和滚轮放大图像。
  • Live HTTP Headers 0.12 网页设计中检测HTTP报头的工具
  • LiveLines 0.4.5 实时发现feeds,并且自动加入所设定的feeds阅读器中
  • MeasureIt 0.3.5 网页设计者能够快速测量网页部件的大小
  • MediaPlayerConnectivity 0.5.5 强大的媒体播放工具,可以让在线播放调用本机播放器在firefox外部播放
  • MinimizeToTray 0.0.1.2006022107+ 让firefox最小化到状态栏
  • MR Tech Local Install 4.6 强大的扩展安装管理扩展(好像很绕口啊 )
  • OperaView 0.4.1 对于网页设计者来说,可以方便的比较网页在opera中的浏览效果
  • PDF Download 0.6 避免在firefox中调用Acrobat打开PDF造成的假死
  • Pearl Crescent Page Saver 1.0 网页截图
  • Performancing 1.1.1 极其好用的blogger客户端,支持Wordpress、MSN space、Blogger…………几乎所有的主流blog系统
  • Platypus 0.64 配合Greasemonkey来使用,以所见及所得WYSIWYG的方式生成greasemonkey user script来改变在本地浏览状况。譬如干掉那些讨厌的跳动广告和sidebar
  • Reveal 1.0.6 按下Alt+`新打开一个tab,是所有tab的缩页预览,动画效果。mazing,无愧为今年最佳扩展之一
  • Sage 1.3.6 rss阅读器,自从用上Google Reader之后,就受冷落了。
  • ScrapBook 1.0pre 网页抓取到本地,并能够深层挖掘,制定文件类型……而且抓取之后在本地可以加入笔记之类的功能…………完美的东西,我使用firefox最离不开的扩展之一
  • SessionSaver .2 0.2.1.031 保存对话。比较鸡肋
  • SiteAdvisor Firefox Extension 20.0 MIT开发的安全浏览扩展,让那些流氓垃圾网站继续见鬼去吧
  • Séparé 0.1.3 新生成一个tab —— separe包括上个separe之后、左右两边的tab的预览,有了Reveal后也准备卸咯。一点比较体贴的功能就是可以用它来分隔所浏览tab,并对其分类
  • Tab Mix Plus 0.3.0.5 Tab浏览增强工具
  • tor-proxy 0.2.1 懒人代理工具,不必添加代理类表并认证,点击一下图标自动帮你设置好,代价是为了使用tor再多付出些内存
  • Venkman JavaScript Debugger 0.9.86 超强JavaScript调试工具,有详细的资料在这里 中文的看
  • View Rendered Source Chart 1.5.02 方便美观的看网页源代码,层次关系一目了然,自动着色,配色很漂亮
  • Web Developer 1.0.2 网页设计者必备
  • WebmailCompose 0.6.6 调用webmail来作为系统默认邮件。
  • xyzproxy 1.14 代理工具,若想手动设置代理的话可以使用。
Installed Themes: [7]
  • amalgam 1.0.3 仿safri,质感不够
  • Firefox (default)
  • iFox 1.6.6
  • iFox Smooth 1.6.7 iFox系列是仿safri的,但是不太兼容ScrapBook。姑且留机查看
  • iPox 0.52 我的最爱,iPod风格的界面,简洁清爽干净
  • PimpZilla 3.18 太花哨了,准备卸了
  • Pinstripes, Grapes, and Apples 0.2 仿safri,老问题,质感不够,在用过真正safri甚至是Opera仿Safri的主题后,发现firefox上的界面太软,莫非是XUL和Gecko的问题?
这部分主要根据主机上所安装的软件而定,印象中我没有主动去安装过什么plugin
  • Adobe Acrobat
  • Java Plug-in
  • Microsoft? DRM
  • Mozilla Default Plug-in
  • PCMan's IE Tab Plug-in for Mozilla/Firefox
  • QuickTime Plug-in 7.0.4
  • RealJukebox NS Plugin
  • RealPlayer Version Plugin
  • RealPlayer(tm) G2 LiveConnect-Enabled Plug-In (32-bit)
  • Shockwave Flash
  • Windows Media Player Plug-in Dynamic Link Library
这就基本上就是我使用的Firefox了,其他的以后想到了补充~另附传说中的firefox 照片一张
http://i7.photobucket.com/albums/y261/tstuff/realfirefox2dv.jpg

它就是传说中的:FireFox!我喜欢它的莫西干,好彻底啊,从头到尾。彻底!

Technorati Tags: ,

自由是种投资

真正有能力这样做的公司有几家?有实力的又有谁正在这样做? 一位曾在微软工作过,现在在Google的工程师Joe这样认为:

Can 20% time work at other companies? I'm sure that there are going to be others that try. However, I think that it is important to realize that it is a result of an environment and philosophy to development more than a cause. I don't think that it is something that can be imposed in an independent way.
即使正在这样做的Google,为何不让80%的员工做本职,20%的员工去享受spare time?要么,来个40% 、50%岂不是更加活力激荡? 除了公认的二八定律之外,即使Google也只能将这种奢侈投资控制在一定范围内,毕竟作为一家成熟的公司,投资跟赌资是两码事。

既然是投资,那么必然有收益了:

  1. 原本效率较低的垃圾时间,现在可以投入自己喜欢的事情。使员工创意勃发、脑力激荡、少时高效;在这20%自驱动的时间内将得到天才员工们的20正常工作时间+无穷自由时间,据说Gulp就是Urs Hoelzle 去玻利维亚和秘鲁交界处的亚热带雨林从事植物学研究从而诞生的
  2. 20%似乎已然成为Google文化符号之一。其标榜的创意、自由、灵感早已深入人心,googleplex成为诸多geek朝圣之地,flickr更上不乏google spy在google内部偷拍的照片
  3. 员工向心力增强,内部透明、intranet共享机制同20% time 也脱不开关系
  4. 创意源头。在这20% time 诞生了n多产品:Gmail、Google Books、Google Earth、Orkut、Google“功能饮料”Gulp ……
当然,也有不买Google 20% time帐 的,比如这位微软工程师Robert 对一位Google员工tony 20% time的回应:Tony brags about Google's 20% time 颇含意味的这样说道:
So, why doesn't Microsoft have 20% time? Well, speaking for myself, if Bill Gates told me I could have 20% time I'd say "that's nice Bill, but I'm already working on what I want to work on."
不管怎样,让business充满人情味是挺好的一件事,相信没有人在获得自由的同时希望听到背后的算盘声。

Technorati Tags:

,