Tuesday, September 28, 2004

a chat with Tao

I had a chat this morning with Tao ( a coworker at Sun). He works for TD now and a super smart guy. He is so good at Perl now and write Perl code without referencing to the manul. He loves writing closure in Perl 5.

We both are interested in functional programming. He points me to OCAML www.ocaml.org, a ML style language. I came across it before and I think i will start learn it once I've time.

Monday, September 27, 2004

four challenges for me

I had a thought on the continous learning efforts in this career.


1. learning from Technology.

It requires me to master at least 7 major languages (C, Perl, Python, Java/C++,Lisp,SQL, ksh) and other mini languages like HTML, Sed,AWK,PHP, ASP, VB, JavaScript etc. Without them, you can't see the whole picture and will never able to design an useful language by yourself.

In addition, a solid hands on experience with different OS, networking protocols, and those well-written books from Richard Steven.

Right now, I am pretty much at half way of being the master. I am pretty fast learning but need time to focus on details. It is no easy task. Sometimes I feel like a ShaoLin monk having to spend all his life to become a master in one of their (1/72?) fighting techniques.


2. learning from Product

It requires me to learn all popular products on enterprise levle such as WebSphere, WebLogic, DB2, MQ etc.. as well as Open Source level such as Apache, Tomcat, Struts, Velocity,Maven etc.


If you get deeper into this, you will see why they design it that way, practical or not. It is this part of design reverse engineering that makes it interesting besides looks good on resume. Sometimes, it is popping up in my mind I saw this happened somewhere, maybe I can reapply it over there. The product innner knowledge does get you smarter since it is the product of other smart people if it is proven to be popular:-).




3. from Business domain
Basic understanding of eCommerce, finance etc is necessity

4. from People
How to deal with different people at work. People are different.



Wednesday, September 22, 2004

interceptor pattern

It is used at least:

o WAS DynaCache

o EJB

Wednesday, September 15, 2004

funny comments about Java developers

http://www.linuxworld.com/story/44251_p.htm

I laughed my head off when he is talking about how tedious to take a dinner/lunch.

eye opener for me

This is from Steve Tilkov's blog.
"What basically determines whether a language is useful is whether it can be used to solve real world problems efficiently. And this, in turn, depends very much on the libraries available — and the only chance for any language to compete with Java or C# is if it’s based on the JVM/CLR
"

I hold the same view for a while. That is why I'm interested in Jyhon as vast libraries Java has. Now I wanna know about add LISP like features on JVM such as macro.

a good book from MIT

“Structure and Interpretation of Computer Programs” http://mitpress.mit.edu/sicp/full-text/book/book-Z-H-4.html#%tocstart

Wednesday, September 08, 2004

WAS DynaCache

It is from IBM research to cache pages in fragment or in full.
An interesting idea to do caching on view (MVC term) level.

However one thing bugs me is their cachespec.xml. I think the rules (cache rules, invalidation/dependency rules) described in XML are not very clear, esp. missing a 1 liner of condition (logic expression) expression that telling us when to cache and invalidate. It is quite tedious to read.
The right design to make it easier and readier is to use 1 liner logic experiession like BNF syntax. XML is just used for encapsulation only.