google地图(ditu)

google地图(ditu)
好强了,即便是鄂尔多斯这么一个小地方也可以达到这么强的数据,所有街道,餐厅,酒店,公交路线都是最新的!

学计算机可以做什么?

经常听到这样的疑问,要一句两句说清楚还真不容易。如果只是说“编程”又不准确,反而会吓到很多人。
甚至在读研究生的同学也不清楚自己可以做什么 – 仅仅因为不会编程。
话说回来,学计算机的精髓其实就是编程。其他的什么架构设计,业务分析,系统维护等等都是经验的积累。
就好象学画画是掌握把物体“搬到”画布上的技能,至于你是画油画,水墨画,山水画还是花鸟人物都是这个基础上的扩展和积累。不过学计算机还是有很多选择的。

还是画个mindmap吧:

0_0

我这里把企业系统维护也归入到咨询一类,比如政府信息化部门和企业的IT部门。也就是把软件统一划分为开发,咨询和互联网三部分。
外包(out sourcing)是一种协作模式,不是工作内容,比如无论是企业还是互联网公司,甚至IT公司都可以把工作外包给其他人。

其实即便不是学计算机,不懂编程也一样可以入行,比如业务分析师,如果你对某个行业(银行,物流)很了解精深,比如交互设计师,如果你懂得如何体会用户的感受。

软件公司包括:IBM,Microsoft,Oracle,Sun

咨询公司:SAP, Oracle,IBM, Accenture, HP,大多数外包公司(一般后缀 technology solutions,Information Technology, Solutions的公司)

互联网公司:阿里巴巴, Google, 百度

还有就是各行各业的大大小小的公司,都需要懂计算机、软件和互联网的。所以学计算机还是很有前途的!

关于java6中scripting engine的invoke和invokeFunction的问题

在java6中加入了对scripts的支持(jsr223),并且捆绑了一种javascript的实现(来自mozilla的rhino)。
但是今天在使用时候发现一个小问题,jdk-6u12和jdk-6u13里的Invocable居然是不兼容的!

在jdk-6u12中是
invokeFunction(String name, Object… args)
而jdk-6u13中是
invoke(String name, Object… args)

在网上发现大多数的写法都是前一种(invokeFunction),搞不清楚为什么会出现这样的问题。但如果这的出现开发环境和部署环境稍有不同岂不是搞的很不爽,明明只是一个很小的问题。却可能造成很奇怪的结果,还要改代码重新编译才行。

解决方法:
1.开发环境和部署环境的jdk版本统一。
2.干脆使用BSF或者BSH。
虽说两种方法和简单直接,但是总觉得因为这么一点点问题而动这么大的干戈真不应该。

乾隆的态度

在统治这个广阔的世界时,我只考虑一个目标,即维持一个完善的统治,履行国家的职责。奇特、昂贵的东西不会引起我的兴趣。…正如您的大使能亲眼看到的那样,我们拥有一切东西。我根本不看重奇特或精巧的物品,因而,不需要贵国的产品。
–乾隆1793年对英国国王乔治三世要求建立外交和贸易关系的答复(摘自《世界通史》)

Fire-j2me

Decided to use Fire-j2me as the UI engine, evaluated the API and felt good.This website www.bluevibe.net is author’s company which focuses on the Proximity Marketing(亲近营销,接近营销), the new word to me. Should elabrate it in another entry. Anyway, the idea is to do the marketing in the certain scenario with mobile devices equipped with bluetooth, blablabla…check this out:http://www.bluevibe.net/Mobile-Demos/
Initially, eSWT is prefered, however, there’s not much stuff in the Internet, and all I got from eclipse/eRCP official website is something like windows-ce runtime. God knows!
And LWUIT is not applicable, coz I did not feel it “light-weighted” and the worst thing is it does not support Chinese input.

Something from Fire’s readme:
===
Fire is a lightweight themable GUI engine for j2me MIDP2 applications. It is designed to be an eye-candy replacement to the traditional midp GUI components. It provides much more functionality than the midp standard components and its not kvm-implementation depended like the midp standard components.

Since v2.0 Fire also has an xHTML module that allows the creation of mobile browsers and GUIs based on xHTML. Fire also comes with a set of utility classes for logging, internationalization and more.
===

关于XP

从旧文档里翻出一些很早以前写的东西,关于XP(eXtreme Programming)的。那时候的很多想法现在看起来还是挺有见地的,不过还是透着稚嫩和青涩。但也有让自己汗颜的地方 – 我似乎没有那时那种自信了。

22:42 2004-12-4
xp,大多数人都知道是一种软件开发的方法.不同以往的软件工程的方法,个人觉得根适用于较小型的项目.因为xp的参与者不宜过多,否则信息沟通上的消耗会影响到开发的速度.而这是xp最引以为豪的.
优秀的coder可以凭借经验和技巧迅速地构建一个系统,从软件最开始到现在一直存在这样的问题–个人英雄主义的滥觞.但随着软件需求的越来越复杂,多变,软件开发更需要一种契约化的,更注重需求分析和挖掘的软件开发模式–于是xp诞生了.
简单地说来,xp主要是以下几点:
1.测试先行
2.需求挖掘
3.重构,持续整合
当然还有一点很重要,在任何时候都很重要–良好的设计.
可以说,xp更适合那些有大量编码经验的开发人员.如果刚刚学完数据结构就想去找xp的麻烦,无疑是浪费时间,因为很可能会陷入xp海洋里而迷失了方向,导致对编程基础的忽视.而这是学习任何知识的大忌.
xp,你需要一些自动化工具来帮你完成一些重复工作,如初始化,编译,测试,打包,部署…其中最终要的一个工具就是ant,当然你也可以选择其他的ide,但ant无疑是最强大的,它的能耐决不仅仅是”make”.另一个比较重要的就是junit,单元测试工具.还有很多这里就不涉及了.
说了这么多,xp到底是什么样子的呢?下面是笔者一个比较不具体的例子,仅供参考.
首先,你要对项目的需求有足够的领悟,然后设计程序架构.但接着下来不是开始编码,而是部署和测试框架的搭建,这些groundwork对以后的开发及其重要,虽然看起来似乎是浪费了时间,之后就是编码和测试的并行进行(测试被提前了,不再是最后才做的工作).个人觉得xp有60%的时间是在测试相关的工作上,剩40%的时间才是编码.
xp应该不是java的专利,但是java才有ant.c? can’t?

同eclipse一样,ant也是一个开放的框架(也是为什么我们也把ant叫做ide的原因)

个人感觉xp还是满”高端”的一种概念,并不适合我们经常遇到的情况,往往我们在工作中看到的开发模式简直无法让人想象和xp的关联  — xp这种”见效不明显”的开发方法很难被急功近利的leader们认可.在这些人看来xp的效率是很低的,工作开展到一半的时间时我们还没有开始编码 — 老天!!storm the front!!
太过大型的项目用xp可能是不适合的,可能对开发人员的要求更高.xp适合的项目规模,两个小组,每个组2到3人,还有一个英明神武的leader,负责划分任务,设计测试框架,指导开发所需工具.有了这样的一个团队,应该是一般的企业级应用都可以胜任.

我很认同mmm的作者的一个观点,软件开发并不需要很多的人,即使是很大型的项目,人越多用来沟通,运筹的时间就越多.在软件开发领域同样存在80/20法则,20%的程序员做了80%的工作.那我们还为什么需要那80%的人呢?笔者不想在这里讨论这80%的人应该怎么处理,这不仅仅是软件开发,或者人力资源的问题了.可以说xp同样是软件开发模式向天才开发人员回归的一种表现,软件工程学一度曾让很多人认为程序员其实是很低级的重复劳动,coder只是code(包括一些小小的无法上升到一定高度的创意)

迷你博客与照片

今天看到了这个 – 饭否拍拍

可以用来在手机上直接拍照然后发布到饭否服务器上。前两天我还在考虑用twitter的API写一个针对twitter的类似应用呢。“喀嚓”一张照片,然后立刻就可以发布到网站上,或者一段简单的视频,音频,第一时间“社会化(socialize)”或者说”Instant Socialize”。Mofire也有类似的功能,只是她针对的是普通博客。

但是这样做法真的能够粘住用户吗?我觉得其实也没有那么吸引人,反而会有不少麻烦,如果我想保留这些照片,为什么不直接发布到我所使用的图片存储网站(比如flickr, picasa)或者自己的博客,然后再通过twitter来展示呢?我需要重复的把各种东西放的到处都是吗?比如我昨天拍了一个视频,我应该是上传到youtube?优酷?土豆?还是facebook?还是校内?如果是传到youtube,我应该怎样比较方便的和我的朋友分享呢?最终我在facebook上上传了这个视频,只因为可以比较方便的分享。
这样就真的是被这些社交网络所累了。饭否拍拍的想法是好的,但是应该有一种更好的方法去整合这些社交网络的资源,然后带给用户最大化的便利和最简洁的界面。

"怕老"本身就是一种老年人心态

Powered by MoFire

贴几张港大的照片吧


何东夫人堂门口那棵树


数码港的海景楼,可惜手机相机太差,拍不到海景


著名的港大一号


民主墙 – 不如叫“港大贴吧”?


花园


中山阶(这张照片照得不好)