Picture
美好的一天应该是不同的,清新的早晨,活力的上午,兴高采烈的午餐,闲适的下午,夕阳中长长的影子笼罩的黄昏。美好的一年也应该是不同的,春花秋月夏日冬雪。这就是我们最原始的来自自然的快乐,豪不渲染却沁人心脾。

可是这种快乐现在离我们很远了,我们很少见到草和阳光,更不谈羽毛,昆虫,河流,树木.... 大多数时候,我们看到的是屏幕,其实也五彩缤纷的,可是我们从来都没有体验到那种不同景致应时而至的节律感。如同在迷宫,虽然变化多端,其实如出一辙。时间一久,就难免让人心生烦躁。

所以得为这件事情想想办法。
 
 
Picture
就拿想去哪儿玩这样的事情来说吧,他不应该是一个需要去精心策划的事情。相反的,应该是一件随意的,尽可能多的,无时无处不可的事情。即便你想通过玩来获得什么收获,也应该是不能提前计划的那种。因为期待的本来就是“意料之外的收获”,那又为什么要去“意料”呢?

获得交流也不必这么麻烦,既然想要的是被人听到和听到别人,那么就去一个大家都去的地方,说出自己想说的,听听别人有什么主意?相信在两个都生活在地球上,都长着鼻子眼睛嘴巴,都琢磨着怎么赚钱,都梦想着如何幸福的人之间,总会有共同的话题。当谈论了这些话题后,人和人就会有些互相的印象,那不久好了吗?

有些愚蠢的想法也大可分享,即便有人觉得你弱智。基本上每个人这一生都会被认为弱智无数次——想想这样的情况,有时候你确信无疑这事情值得一讲,结果被人当成弱智——这说明人和人虽然有相似性,有时候差别还是蛮大的。保不准你觉得说出来恐怕显得弱智的某事情,也是其他某人觉得说出来太弱智,但心里却是那样想的。所以当你这么和他讲了的时候,他跳了起来:“知音啊!”。

大多数事情都不必这么麻烦,不必制定规则以便想个操作员那样在余生遵守。如果你为一件事情精心策划了特别久,以至于扰乱了很多你以前的精心策划,那么你应该想想,这样自相矛盾的精心策划,还要吞噬掉多少宝贵的时间?

大多数时候,不要给自己这么大压力,觉得自己现在在这件鸡毛蒜皮的事情上的一些细节,会影响今后的人生。永远相信自己以后的智慧远胜现在,人是充满活力的,智慧的,向上的,最重要的工具。
 
 
Picture
With my new BB in hand I made a ambition to "work everywhere". I tried different productivity tools on my BB but .... unfortunately, none of them seems have worked well for me, typing some text as long as those in this article on a BB i'll have to spend 10 minutes or so, no matter how feature rich the application is. Finally I find the most useful feature of BB is still SMS and making calls, plus the web browser which occasionally guides me how to go to some place.

Then I realized that a cellphone is, no matter how powerful the producer say it is, always a cellphone. It's always an addition to your PC in case you are without it. It's designed to make it possible for you to access a piece of information, not to make it efficient. So for your serious work, it's simply not recommended that you spend too much time doing it on a BB, it's totally a waste of time.

And the best tool for me is still my PC and my small note book (yes a PAPER one) that's always with me. I've been so used to search for file with CTRL + WIN + S, look up a word with ALT + L, taking quick note with CTRL + ALT + N, and so many ... what without them I feel the world is just BIG, HEAVY, AWKWARD. And with my notebook I can write everywhere, draw lines, draw smile, draw whatever wherever whenever, it's just awesome!

Conclusion:
Looking for productivity tools for BB is as stupid as looking for good taste from ... some medicine.
How you do matters, much more then how long you do.

 
 
Recently I found some very interest discussion on Java performance, actually title of this post is from a question on stack exchange:

http://programmers.stackexchange.com/questions/368/why-do-people-still-say-java-is-slow/5064#5064

As I see, there are mainly two reasons for this (also could be found in the link above):

One reason is that people trust what others say instead of what they see.

According what I was told when I first started programming, Java is "slower" than C++, and reason why Java could be used is because it's "convenient and easier". It's very commonly believed that Java brings Safety and convenience, at the cost of performance. Even when later C# is invented people believe it's faster than Java because it's "native".

But the truth people see without sensing it, is that, eclipse, the IDE that's built with Java, is absolutely the FASTEST IDE in class. I've used nearly all main stream IDEs, those from MS and GNU, Borland..., eclipse is the absolute king, of IDEs, largely because of it's fast.

Another reason is its long start up time.

Java is not suitable for developing a tiny app that stay in system tray, consumes a little memory, popup a dialog reminding you to take a break; or a notepad that you use to open a text file, read it and close it. It should be used on something BIG, like a web server that's always there, make optimized use of you computing resource, respond to millions of requests every hour. Or an IDE like eclipse that manage thousands of workspace files. You don't know you Java app is fast until it has run for at least several hours, I believe.




Also there's proof that java DO is slower, although a little bit, than other even high level programming languages:

Modern Java is not slow, as others have noted. But, there are a couple exceptions:

  • Array access is still MUCH slower compared to C, due to bounds checks and so on. This improves with every version, and Java 7 should provide a massive boost here.
  • Lack of arbitrary memory access can make some I/O and bit-level processing slow (compression/decompression for example). This is a safety feature of most high-level languages now.
  • Java uses a LOT more memory than C, and if your application is memory bound or memory bandwidth bound (caching, etc) this makes it slower. The flip side is that allocation/deallocation is blazing fast. This is a feature of most high-level languages now, and due to use of GC rather than explicit memory allocation.
  • Streams-based I/O is slow as shit due to the (IMO poor choice) to require synchronization on stream access. NIO fixed this but is a pain to use. Java 7 should fix this with a new stream-based but unsynchronized I/O library.
  • Java doesn't provide the same low-level functionality C does, so you can't use dirty tricks to make some operations faster. This provides portability, but you can't use (for example) inline assembler or clever x86 tricks. This is a feature of most high-level languages now.
  • String operations are slow. Java uses immutable, UTF-16 encoded strings. This means you need more memory, more memory access, and some operations are more complex than with ASCII. It's the right decision for portability but carries a performance cost.
  • Startup times still suck. If I recall correctly, useless, bloated crap like CORBA still gets loaded or at least handled in some fashion.
In the end, Java was designed to provide security and portability at the expense of some performance, and for some really demanding operations it shows. Most of its reputation for slowness is no longer deserved. Still, Sun always chooses the "better" way rather than the "faster" way whenever it can.