RSS feed [root] /



title search:


Sun Mar 16 19:10:24 HKT 2014

(google search) (amazon search)
download zip of files only

Fri Jul 25 18:54:55 HKT 2014 From /weblog/trip/travelling


Travler pass -

Introduction of about how to figure out the public transport at Tokyo -

遊日別錯過:南阿爾卑斯, 橫跨山梨、長野、靜岡三縣的「南阿爾卑斯山脈」以及和福島縣的「只見」為新的生物圈保護區,其中別名為「赤石山脈」的「南阿爾卑斯山脈」風光如畫,山腳有溫泉景點,吸引不少遊客到此遠足或露營。 -[..]realtime/international/20140617/52582650

(google search) (amazon search)

Fri Jul 25 15:17:37 HKT 2014 From /weblog/trip/travelling


遊搜好行:蜜月尋夢  63,000公里 -[..]20120421&sec_id=12187369&art_id=16266814

看北極光、鐘乳石、瀑布彩虹、動物大遷徒、泰姬陵等,都是美國有線新聞網絡( CNN)精選的人生必遊景點 -

尋找心中的最後一塊淨土 -

The best sun set -

Nice places at various places on earth -[..]0dad2d4ac0e22b0f5459e87f1ab5a3b2a7238ee2

地球最深的影像 库鲁伯亚拉洞穴探险 (Krubera Cave,又名Voronya Cave) -

unbelievable-photographs-of-national-parks-from-around-the-world -[..]al-parks-from-around-the-world/?view=all

restaurants-with-jaw-dropping-views -[..]urants-with-jaw-dropping-views/?view=all

places-that-look-like-they-are-from-another-planet -[..]e-they-are-from-another-planet/?view=all

places-you-can-get-away-from-pretty-much-everything-and-everybody -[..]-much-everything-and-everybody/?view=all

earths-most-breathtaking-natural-wonders -[..]t-breathtaking-natural-wonders/?view=all

craziest-things-found-in-nature -

(google search) (amazon search)

Fri Jul 25 15:16:23 HKT 2014 From /weblog/health


How bolt training -[..]/othersports/fastest-man-usain-bolt.html

Better run and weight training on difference day -[..]ch-one-first-run-or-weight-training.html

Exercise to help keep balance -[..]year-old-mother-20-minutes-training.html

More training doesn't mean you can eat whatever you want -

Importance of drinking during sport -[..]%80%E5%AE%9A%E8%A6%81%E5%96%9D%E6%B0%B4/

(google search) (amazon search)

Fri Jul 25 14:36:47 HKT 2014 From /weblog/health/food


紅酒配紅肉? -[..]%92%E9%85%8D%E7%B4%85%E8%82%89-%E4%B8%80[..]%92%E9%85%8D%E7%B4%85%E8%82%89-%E4%BA%8C

(google search) (amazon search)

Fri Jul 25 11:01:15 HKT 2014 From /weblog/health


(google search) (amazon search)

Thu Jul 24 14:49:51 HKT 2014 From /weblog/health


Are we really need 8 hours of sleep?

Find the best sleep position -

Take a nap is good! -

Why it is good to sleep together -

中老年人怎樣睡個好覺? -

Facts about sleep -[..]nsane-facts-about-sleep-infographic.html

(google search) (amazon search)

Thu Jul 24 14:48:02 HKT 2014 From /weblog/health


Relaxing tips -[..]%9B%E5%A3%93%E5%B0%8F%E8%B2%BC%E5%A3%AB/

積極思考能夠緩解壓力,這一點毫不令人意外。不過明尼蘇達大學卡爾森管理學院工作及組織學教授、該報告的作者之一格隆布(Theresa Glomb)說,事實證明,積極正面的思考可能比用人單位目前采取的很多抗擊工作壓力的方法都更實用,這些方法包括提供靈活的工作安排或創建新的組織結構圖,而這實際上并沒有改變辦公室的日常生活。

寫下一天中發生的好事本身就很有價值,但格隆布說,真正的影響來自寫下為何這些事會讓你感覺良好。這樣做會凸顯出一個人在工作生活中獲得的資源和支持,比如技能、幽默感、讓你感到鼓舞的家人、或是一個富有同情心的老板。 -

5 Things We Need For Sustainable Performance At Work -[..]for-sustainable-performance-at-work.html

什么時候說“不”? -

界(刀)手 -[..]%92%E5%BA%A6%E4%BD%9C%E6%8E%A2%E8%A8%8E/

【朝朝正能量】七招減壓秘技讓你活在當下 -[..]realtime/international/20140724/52721787

(google search) (amazon search)

Thu Jul 24 14:47:04 HKT 2014 From /weblog/network

protocol <- CM CMTS Protocol for Cable Modems

Show full network path with "-T -p 80" -

There can be racing condition between send() and close() due to the fact that kernal doesn't care about data at network card -[..]inger-page-or-why-is-my-tcp-not-reliable[..]erence-between-tcp-and-udp-protocol.html

(google search) (amazon search)

Wed Jul 23 11:23:21 HKT 2014 From /weblog/xml


Some problem of using XSLT as UI template -

But there is still a lot of use case for XSLT, like using XSLT to sort XML -[..]A41FF312-8AED-4E53-BF6D-64D1DC48812D.htm

Probably a very common usecase -[..]converting-xml-to-csv-using-xslt-10.html

(google search) (amazon search)

Wed Jul 23 11:16:40 HKT 2014 From /weblog/java/performance

option list

How linkedin turn the GC -[..]ughput-and-low-latency-java-applications

Using generational & concurrent GC collector -[..]/04/ibm-jvm-tuning-gencon-gc-policy.html

Full VM option list :, update for Java7 -[..][..]ost-complete-list-of-xx-options-for.html

A simplified list for some frequency use options -[..]rbage-collector-guidelines-and-tips.html

HotSpot JVM garbage collection options cheat sheet -[..]spot-jvm-garbage-collection-options.html[..]va/javase/tech/vmoptions-jsp-140102.html

An example and story about effect of difference VM parameter affecting the performance -

Clear the code cache automatically with -XX:+UseCodeCacheFlushing -[..]time-for-long-running-java-applications/

Discussion about -XX:MinHeapFreeRatio parameter -[..]

The other detailed guide for VM parameters tuning -

Here is a more simple cookbook -

A outdated (1.4) , compehensive but still not really too detailed, overview of various GC tuning -

Some say following VM parameter is good enough
-server -Xmx -XX:+UseParallelGC[..]/page/binublog?entry=java_tuning_for_xml

Some say is useful if you have huge memory

Some say below parameter keep GC in low pause
Some say below parameter are very optimal
-XX:+DisableExplicitGC -XX:+UseConcMarkSweepGC -XX:NewSize=1200m -XX:SurvivorRatio=16[..]d.tss?thread_id=41258&ASRC=EM_NNL_347804
Some say those parameter is good

Just in case anyone is curious, the flags enabled by -XX:+AggressiveOpts in JDK 1.6.0_25 are:


Generate dump with OOME - -XX:+HeapDumpOnOutOfMemoryError

GC log sample of -XX:+UseConcMarkSweepGC -XX:PrintFLSStatistics=1 -XX:+PrintGCDetails -

A case study of tuning VM GC parameters -[..]ld-you-trust-the-default-settings-in-jvm

Explanation for few performance related VM parameters -[..]ine-options-jvm-performance-improvement/

(google search) (amazon search)

Wed Jul 23 10:26:37 HKT 2014 From /weblog/design


Nothing specific, mostly code clean up, refactoring and simplification, the performance boost was a surprise. <- This is a good one -[..]12/07/disruptor-v3-faster-hopefully.html

Is there anything we can do about this when designing algorithms and data-structures? Yes there is a lot we can do. If we perform chunks of work on data that is co-located, and we stride around memory in a predictable fashion, then our algorithms can be many times faster. For example rather than using bucket and chain hash tables, like in the JDK, we can employ hash tables using open-addressing with linear-probing. Rather than using linked-lists or trees with single items in each node, we can store an array of many items in each node. -[..]emory-access-patterns-are-important.html

Skip lists are used instead of b-trees because b-trees don’t scale. -[..]ast-mvcc-inmem-lockfree-codegen-and.html

Beware about the performance issue of static initalization -[..]-cause-problems-with-multi-threading-how

Experiment show why arraylist is better in most cases -

How to design low latency application in java -[..]5/chronicle-and-low-latency-in-java.html[..]ciples-of-high-performance-programs.html[..]principles-of-high-performance-programs/

Suggestion about how to determine number of thread pool -[..]rmine-Web-Applications-Thread-Poll-Size/

Beware the performance penalty of logging -

Keep thing dynamic -[..]ciples-of-high-performance-programs.html

(google search) (amazon search)

Wed Jul 23 09:58:42 HKT 2014 From /weblog/java/performance


5 tips for proper Java Heap size -[..]07/5-tips-for-proper-java-heap-size.html

What does JVM do -[..]t/uploads/2011/03/2011_WhatDoesJVMDo.pdf

How Azul do pauseless GC -

New feature, DoEscapeAnalysis

A very nice blog about VM detail

Tips for configing 64bit system with large pagesize -[..]garbage-collector-in-latest-openjdk.html

Just an idea -[..]aded-virtual-memory-in-java.1-46188.html
How java use native memory ( in aix ) -[..]erworks/java/library/j-nativememory-aix/

How JRebel enable dynamic adding or removing method in running VM, using existing Java technology like classloading and agent to breakthough hotswap limitation -[..]loading_java_classes_401_hotswap_jrebel/

Biased locking -

(google search) (amazon search)

Wed Jul 23 09:57:03 HKT 2014 From /weblog/java/string


Better sorting should do 2 things:
1) case insensitive
2) aware of numbers in the file names. So File2 comes after File1 (obviously) but before File10[..]ingcomparator_sorting_strings_for_people


Switch comparison -

(google search) (amazon search)

Tue Jul 22 18:04:22 HKT 2014 From /weblog/unix


Web base vim as tutorials -

History of VIM -[..]f-productivity-vims-20th-anniversary.ars

Guide for editing text object, most already familiar with using 'w' for word editing, this blog discuss more about using 'p' for paragrahy and other related stuff. -[..]7/vim-text-objects-the-definitive-guide/

Seven habits of effective text editing , a lot of nice tip of using vim, like hlsearch , omni-completion

vimdiff tips -[..]cles/2008/04/30/vim-as-a-diff-merge-tool[..]9899-uid-36931-do-showone-type-blog.html

How to regex with line number -

cheat sheet of jumping around source code -[..]inux-HOWTO/C-editing-with-VIM-HOWTO.html

Nice analysis of good programming environment -[..]why-i-switched-from-textmate-to-vim.html

Creating macros in vim - <- introduction to Command-T and FuzzyFinder

Some VIM tips:

Essential Vim editor navigation commands
Vim search and replace – 12 powerful find and replace examples.
How To add bookmarks inside the Vim editor
How To record and play inside the Vim editor
Correct spelling mistakes automatically inside the Vim Editor
Automatic word completion using Ctrl-X
Enable thesaurus option in the Vim editor
Vim autocommand magic. Add custom header to your files automatically.
Convert Vim editor to a beautiful source code browser.
Use the Vim editor as a bash IDE, or C/C++ IDE, or Perl IDE.

ctrl+w, ctrl+w , vimdiff switch folder -

tutorial -[..]editor-in-unix-example-tutorial-and.html

Compilation plugin -

Highlight multiple searches at the same time, each with a different color. -

C/C++ IDE -[..]10/vim-plugin-for-navigating-c-with.html

Suggestion of Hex editors -

Evil, putting vi in emacs -

Fixing syntax at solaris, "export TERM=xtermc", ":syntax enable" -

Graph your Vim undo tree in style. -

Introduction to Selecta and Command-T, tool for fuzzy mapping and open files easier -[..]d-the-vimrc-file-be-located-on-windows-7

Open Visual Studio config as XML -!topic/vim_use/HzVM9tjJP08

(google search) (amazon search)

Tue Jul 22 16:46:12 HKT 2014 From /weblog/learning


How to develop imagination -

7 Important Creative Thinking Skills -[..]06/7-important-creative-thinking-skills/

Are you interested to be genius? -

4 ways of treating problems
Absolution: Ignore the problem and hope it either fixes itself or someone else solves it. Default.
Resolution: Either look to the past for previous solutions to the same problem OR identify and remove the causes of the problem. Satisfice.
Solution: Analyse using quantitative methods and / or experimentation to try to yield the best possible outcome. Optimise.
Dissolution: Eliminate the problem and prevent it from arising again by redesigning the system that has the problem or its containing system. Idealise.[..]2012/06/4-ways-of-treating-problems.html

言语的非连贯性, 偏重例子, 一图抵千言,提问,回答。[..]014/03/05/25-things-ive-learn-about-life


这里有一个原则同学们要记住:不重要的学术作品大可不读,但重要的要反复重读,读多遍。不要相信重要作品的简化阐释,因为作者究竟怎样想我们不可能从简化的阐释中学到。 -

(google search) (amazon search)

Tue Jul 22 15:30:37 HKT 2014 From /weblog/design/distribute


There are two key primary ways of scaling web applications which is in practice today.
1) “Vertical Scalability” - Adding resource within the same logical unit to increase capacity. An example of this would be to add CPUs to an existing server, or expanding storage by adding hard drive on an existing RAID/SAN storage.
2) “Horizontal Scalability” - Adding multiple logical units of resources and making them work as a single unit. Most clustering solutions, distributed file systems, load-balancers help you with horizontal scalability.

Scalability can be further sub-classified based on the “scalability factor”.
1) If the scalability factor stays constant as you scale. This is called “linear scalability“.
2) But chances are that some components may not scale as well as others. A scalability factor below 1.0 is called “sub-linear scalability“.
3) Though rare, its possible to get better performance (scalability factor) just by adding more components (i/o across multiple disk spindles in a RAID gets better with more spindles). This is called “supra-linear scalability“.
4) If the application is not designed for scalability, its possible that things can actually get worse as it scales. This is called “negative scalability“.

Report of building web application with 55k pageload with rail -[..]mongrels-handled-a-550k-pageview-digging

XMPP a IM protocol about scalability -[..]icle/the_aol_xmpp_scalability_challenge/

Presentation and resources of making you website more scalable -[..]9/Real-World-Web-Performance-Scalability[..]lications&asrc=EM_NLN_3990118&uid=703565[..]ionsPart2&asrc=EM_NLN_3990119&uid=703565

Brian Zimmer, architect at travel startup Yapta, highlights some worst practices jeopardizing the growth and scalability of a system:
* The Golden Hammer. Forcing a particular technology to work in ways it was not intended is sometimes counter-productive. Using a database to store key-value pairs is one example. Another example is using threads to program for concurrency.
* Resource Abuse. Manage the availability of shared resources because when they fail, by definition, their failure is experienced pervasively rather than in isolation. For example, connection management to the database through a thread pool.
* Big Ball of Mud. Failure to manage dependencies inhibits agility and scalability.
* Everything or Something. In both code and application dependency management, the worst practice is not understanding the relationships and formulating a model to facilitate their management. Failure to enforce diligent control is a contributing scalability inhibiter.
* Forgetting to check the time. To properly scale a system it is imperative to manage the time alloted for requests to be handled.
* Hero Pattern. One popular solution to the operation issue is a Hero who can and often will manage the bulk of the operational needs. For a large system of many components this approach does not scale, yet it is one of the most frequently-deployed solutions.
* Not automating. A system too dependent on human intervention, frequently the result of having a Hero, is dangerously exposed to issues of reproducibility and hit-by-a-bus syndrome.
* Monitoring. Monitoring, like testing, is often one of the first items sacrificed when time is tight.

Useful Corporate Blogs that Talk About Scalability -[..]l-corporate-blogs-talk-about-scalability

Overview of mapreduce and how it compare with other distributed programming model -[..]0/is-mapreduce-going-to-main-stream.html

Paper of data store at amazon

Discuss how haven't sync can cause performance issue -[..]lications&asrc=EM_NLN_6273194&uid=703565

Discussion about Cloud Based Memory Architectures -[..]ased-memory-architectures-next-big-thing[..]alability-and-performance-best-practices

Interview with google engineer -[..]gle-at-scale-everything-breaks-40093061/

Surprisingly youtube is blocking -[..]e-scalability-lessons-in-30-minutes.html

If we are seeing a sustained arrival rate of requests, greater than our system is capable of processing, then something has to give. Having the entire system degrade is not the ideal service we want to give our customers. A better approach would be to process transactions at our systems maximum possible throughput rate, while maintaining a good response time, and rejecting requests above this arrival rate. -[..]apply-back-pressure-when-overloaded.html

How twitter scaling -

How Reddit scaling -

How infiniteDB prevent locking and IO -[..]-scalable-relational-database-manag.html[..]ard-way-about-scaling-a-million-use.html[..]2014/03/26/six-things-about-scaling.html

The experiences of various big companies, about network issues -

Stackoverflow, scale without cloud -[..]nth-25-servers-and-i.html?SSLoginOk=true

(google search) (amazon search)

Tue Jul 22 08:57:27 HKT 2014 From /weblog/software_engineering


Examples of stories -

Introduction to story point -[..]in/2011/03/questioning-story-points.html

Imperative vs Declarative Scenarios in User Stories -[..]clarative-scenarios-in-user-stories.html

Turn good story to great
1. Get your story right
2. The unwritten rule of what goes inside
3. Choose your words carefully
4. Use acronyms sparingly
5. Convention over OVER-complication


Checklist for user story -[..]hecklist-for-effective-user-stories.html

See the picture in your backlog. -[..]012/03/how-to-create-user-story-map.html

INVEST mnemonic to describe the characteristics of good stories:

Independent: the stories can be delivered in any order
Negotiable: the details of what's in the story are co-created by the programmers and customer during development.
Valuable: the functionality is seen as valuable by the customers or users of the software.
Estimable: the programmers can come up with a reasonable estimate for building the story
Small: stories should be built in a small amount of time, usually a matter of person-days. Certainly you should be able to build several stories within one iteration.
Testable: you should be able to write tests to verify the software for this story works correctly.

Story Mania, User Incognito, Disastrous Details, Story Handoff, Criteria Crisis -[..]er-stories/5-common-user-story-mistakes/

Define Motivations, Don't Define Implementation -[..]replacing-user-story-with-job-story.html

Why large team is not suitable to use user story to collect requirement -[..]/07/user-stories-dont-work-for-most.html

(google search) (amazon search)

Mon Jul 21 16:29:00 HKT 2014 From /weblog/trip/travelling


{北歐冰島三天追光之旅} (冰島) -[..]nd-photography/hochu-v-islandiyu-682755/

永晝現象 -[..]%B7%E4%BE%86%E7%9A%84%E8%89%AF%E8%97%A5/

(google search) (amazon search)

Sun Jul 20 20:05:36 HKT 2014 From /weblog/software_engineering/team

Team work

Building trust for team -[..]nity-of-practice-and-trust-building.html

One nice article about teamwork:

Directing (hi directive + lo supportive, for "enthusiastic beginners")
Supporting (hi directive + hi supportive, for "disillusioned learners")
Coaching (lo directive + hi supportive, for "reluctant contributors")
Delegating (lo directive + lo supportive, for "peak performers")[..]bbthreads/showflat.php?Cat=&Number=64809

Is it a people problem or process problem -[..]01/21/people-problem-or-process-problem/

importance of teamwork -[..]leS.MichaelFeathers.ProgrammingOnYourOwn

5 Dysfunctions of a Team -

A Leaner Start: Reducing Team Setup Times - , I think article "letting-go" is really insightful -[..]007/09/24/onboarding-strategy-letting-go

A good explanation of what is courage, and the result of didn't have courage. It also mention a bit of how to bulit courage within the team, but not much about it -

A potential issue of focus too much on people, rely on few heros -[..]12/people-over-process-misses-point.html

Our agile process requires people to spend the effort to listen and talk to each other, working closely. You have to be a people person to like it. It doesn't suit sociopaths. Accidently hiring a sociopath is going to make XP impossible. Trust me, I know. To me this is XP's fundamental weakness.[..]12/extreme-programmings-fundamental.html

What important is team but not idea -[..]g/2010/01/cultivate-teams-not-ideas.html

A Measure of Your Team’s Health: How You Treat Your “Idiot” -[..]r-teams-health-how-you-treat-your-idiot/[..]ur-teams-health-how-you-treat-your-idiot

(google search) (amazon search)

Fri Jul 18 17:08:27 HKT 2014 From /weblog/health/food


紅棗枸杞豆漿 -

It good for all aspect, at the beginning -[..]/what-happens-when-you-drink-coffee.html

(google search) (amazon search)

Fri Jul 18 16:36:11 HKT 2014 From /weblog/software_engineering/project

project management

Linus share about project management, most importance is people, and also discuss about tools, how to collabrate people and how to delegate -[..]Software-Development-Management/ba-p/440

Only the programmer who is going to write the code can schedule it. Any system where management writes a schedule and hands it off to programmers is doomed to fail. Only the programmer who is going to do the work can figure out what steps they will need to take to implement that feature. -

Never, ever let managers tell programmers to reduce an estimate. Many rookie software managers think that they can "motivate" their programmers to work faster by giving them nice, "tight" (unrealistically short) schedules. I think this kind of motivation is brain-dead. -

Micromanagement or Macromanagement?

But, unfortunately, as a general rule, Project Managers have no training. Even if they do have training in the form of an MBA, MBA education is impractical and useless; the academic community has completely failed us in this respect. Furthermore, Project Managers are more often based on personal friendships and company politics; they are rarely based on management skill.
And, finally, most managers do not acknowledge that management is a skill that they must study and learn so they don't study or learn it.[..]DiscussTopicParent=8469&ixDiscussGroup=5

An explanation of agile, I think it is more about project management -

Some common problem of software project management -[..]thomas/[..]ou-know-your-project-is-in-trouble-when/[..]roduct-management-vs-project-management/

Brief description of thoughtworks codejam -

Listen first. Measure later.[..]

Paper of burn up and burn down - Per my understanding, we can say burn down is push by management where DEV work as task consumer and completing per define tasks within limited time; where burn up work in the other way round.

Why rewrite usually bad -[..]astianKuebeck/entry/why_version_2_0_will

Why need to manage user/client -

The blog list several software projects fail case study -

The law of late project -[..]et/2009/11/the-law-of-late-projects.html

Friendship, what make one big team working -

On an Agile Team, a person is removed from the team by assigning them work. -[..]e-between-agile-teams-and-project-teamd/

Some say an method "Impact Mapping" is very useful -[..]com/2014/07/15/complexity-is-the-excuse/

(google search) (amazon search)

Fri Jul 18 10:42:51 HKT 2014 From /weblog/science


四川現遠古生物「仙女蝦」 幼卵無懼100℃滾水 -[..]th-insane-survival-adaptations/?view=all

(google search) (amazon search)

Thu Jul 17 19:21:37 HKT 2014 From /weblog/design


5 Hints You're Using A Map When You Should Be Using a Cache? -[..]ints-your-using-map-when-you-should.html

How hibernate design the cache -

Consider to do more careful update, not just update DB and dirty cache, but update DB and cache in a same time -

Caching can be architectural smell, some hint and some alternative -[..]2/is_caching_an_architectural_smell.html

General caching discussion -[..]are-architecture/caching-techniques.html[..]10-program-busting-caching-mistakes.html[..]B/web-cache/cachingmistakes.aspx?azid=74

(google search) (amazon search)