RSS feed [root] /



title search:


Sun Jul 23 22:00:11 HKT 2017

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

Mon Feb 27 20:11:29 HKT 2017 From /gallery/Home/YimKan/htc


(google search) (amazon search)

Mon Feb 27 20:11:13 HKT 2017 From /gallery/Home/YimKan/htc


(google search) (amazon search)

Mon Feb 27 20:10:17 HKT 2017 From /gallery/Home/YimKan/htc


(google search) (amazon search)

Sat Feb 25 18:26:46 HKT 2017 From /weblog/software_engineering/testing

best practices

Consider the risk of not being tested -[..]sting-on-toilet-risk-driven-testing.html

Fidelity, Resilience, Precision -[..]testing-on-toilet-effective-testing.html

Attributes that unit test should have: Functionality, Accuracy, Instant, Locator -

Isolation -[..]/2012/04/is-your-unit-test-isolated.html

Tips of keeping unit tests running fast -

Testing Patterns -

Continuously to break thing so that we know our system is solid -[..]11/04/working-with-the-chaos-monkey.html

First rule -[..]08/10/01/nothing_is_too_trivial_to_test/

Test first/last is not important? Unit test either? What do you think?

* The name of the test should describe the requirement of the code
* There should be at least one test for each requirement of the code. Each possible path through of the code is a different requirement#
* Test the goal of the code, not the implementation[..]AppQuality&asrc=EM_NLN_761453&uid=703565[..]og/2007/08/how-not-to-run-beta-test.html

The teaser: Fast, Isolated, Repeatable, Self-validating, and Timely. -[..]es/2007/08/02/not-a-task-but-an-approach

Corner cases -[..]s/2007/02/testheuristicscheatsheetv1.pdf

One of the targets of TDD coding -[..]e-code-is-about-managing-complexity.aspx

Design for unit test -[..]es/content/DesigntoUnitTest/article.html

Push and Pull approach -

When not to test -

Test the story, rather than the implementation -[..]ving-to-scenario-based-unit-testing.html

Test the configuration -[..]TSS10ctqa&asrc=EM_NLN_8746433&uid=703565

Feel the deep synergy of design and test constraint -[..]athers_blog/2007/09/the-deep-synerg.html

Another set of principles for automated testing -[..]of-principles-for-automated-testing.html

Priority for tester -[..]

A lot of links -[..]-links-biased-toward-exploratory-testing[..]nit-tests-5-principles-for-unit-testing/

Some information and suggestion about setting up a local integrated testing environment -[..]

Virtual Panel: Code-to-Test Ratios, TDD and BDD -

A test is complete when its body contains all of the information you need to understand it, and concise when it doesn't contain any other distracting information. -[..]ting-on-toilet-what-makes-good-test.html

Discussion about naming the tests -[..]14/03/17/getting-junit-test-names-right/[..]ting/writing-clean-tests-naming-matters/[..]esting-on-toilet-test-behaviors-not.html <- Test behaviour, not method. This will make your tests more resilient since adding new behaviors is unlikely to break the existing tests, and clearer since each test contains code to exercise only one behavior.

Tips on having better assertion or cleaner test -[..]ur-test-code-with-custom-assertions.html[..]-friday-most-internal-dsls-are-outdated/[..]ertions-with-a-domain-specific-language/

Good to prevent setup and tearDown?

#1 Treat Test Code as Production Code
#2 Use Test Patterns to achieve great readability
#3 Avoid Unreliable Tests
#4 Test at The Appropriate Level
#5 Do Use Test Doubles[..]insights/blog/write-better-tests-5-steps[..]om/core-java/junit/junit-best-practices/

Document ‘Why’, specify ‘What’, automate ‘How’ -[..]/agile/2016/05/24/large-test-suites.html

(google search) (amazon search)

Thu Feb 23 22:03:20 HKT 2017 From /gallery/Home/YimKan/htc


(google search) (amazon search)

Thu Feb 23 18:39:36 HKT 2017 From /weblog/misc


(google search) (amazon search)

Thu Feb 23 16:14:03 HKT 2017 From /weblog/design/interview


Interview with JOOQ founder -

(google search) (amazon search)

Thu Feb 23 00:47:01 HKT 2017 From /weblog/learning


It's never too late to reinvent yourself.txt -[..]ing_passionate_users/2005/01/you_20.html

Related interview -[..]/06/16/jill-abramson-commencement-speech[..]sons-commencement-speech-at-wake-forest/

How to improve yourself -[..]w-to-impress-an-interviewer-c210d9d8e84a

1. Connect to Your Emotions
2. Email Prompts and Reminders to Yourself
3. Get an Accountability Partner
4. Start a Mastermind Group[..]ccountable-for-achieving-your-goals.html

Don't set the goal too high -https:/[..]%88%E8%A8%82%E5%BE%97%E5%A4%A0%E4%BD%8E/

(google search) (amazon search)

Wed Feb 22 15:10:51 HKT 2017 From /weblog/database/vendor


Few distributed SQL DB vendor information -

Approximation DB -[..]e-200x-faster-without-having-to-pay.html

Discuss and compare difference technology of querying journey(log) data -[..]on-log-and-data-storage-query-techniques

(google search) (amazon search)

Tue Feb 21 17:44:20 HKT 2017 From /weblog/design


A paper show the evolution of a DSL -

A stock trading order example of DSL -[..]05/designing-internal-dsls-in-scala.html

What is the difference between API / DSL if we don't write a parser for our language? From Martin Fowler's blog - , it is mentioned:
Piers Cawley makes the point that a key characteristic of DSLs is their narrow focus on a domain.
I think this is a very good summary, usually if most of the APIs are getXXX() , setXXX(), loadXXX() , createXXX() ........ Then we mostly design APIs that expose low level detail to the API user to work on, which, is work but user probably work nicer if we can come up with language like API that allow users to do their work in more descriptive level.

I think if API design like that usually it will reduce the code duplication, what ever real duplication or conceptual duplication. It probably already apply "Tell, don't ask" style -

A discussion about applying "Tell, don't ask" which lead to message passing architecture -[..]07/10/do_messages_want_to_be_asynchr.php

And other discussion about "Tell, don't ask"[..]/2008/11/demeters-law-tell-dont-ask.html[..]part-two-demeters-law-tell-dont-ask.html[..]rt-three-demeters-law-tell-dont-ask.html

One good sample with explaination -[..]-it-really-domain-specific-language.html

Few links -

From CRUD to DDD -[..]2/15/from-crud-to-domain-driven-fluency/

I like this: "XML abuse reduction (conducting an “XML Intervention”)" -[..]ps-internal-dsl-draft-outline-notes.aspx

DSL maybe the result of encapsulation -

Excellent implementation of extending java yourself -

How DSL method named -[..]he-java-fluent-api-designer-crash-course

(google search) (amazon search)

Tue Feb 21 17:42:46 HKT 2017 From /weblog/software_engineering/team


Servant Leadership -[..]t-be-my-style-of-servant-leadership.html , similarly, what a leader should do is helping other to do better, not to be the best of the team -[..]/03/onthings-manga-taught-me-leadership/[..]what-do-you-look-for-in-a-servant-leader

Mentorship -[..]entorship-in-software-craftsmanship.html

Keep focus, or lose -[..]0/how-steve-jobs-influenced-googles.html

The anti-pattern and suggestion about new joiner -[..]-you-will-face-as-a-software-team-l.html

Believe me, the objective was not to make decisions, but to create the right environment so that the right decision would be made.

A nice set of questions to ask for a leader -[..]3/questions-on-influence-and-growth.html

In short, don't put your shoes on others' foot -[..]earned-in-the-army_Printer_Friendly.html

4 types of leadership style, well, I think he model leadership a little too simple -[..]s-the-best-leader-for-the-software-team/

Your experts are spending all their time mentoring novices. Therefore:

Put one expert in charge of all the novices, let the others develop the system. -[..]010/2/25/organizational-pattern-day-care

What is the key Characteristics of great team -

This is very insightful obversation, in many time we look into something work in short term but not really solve the problem, a discussion about why so many people like micromanagement even if they know it is bad -[..]m/2011/01/programmers-and-micromanaging/[..]best-thing-you-can-do-for-your-team.html <- is provide required information, probably more transparent.

Don't make me think... but you have no business not allowing me to think if I choose to. -[..]allow-me-to-think-just-dont-make-me.html

How To Lead Clever People, actually I am double about this, let's see -

How to grow the leadership -[..]og/mpd/2012/11/nurturing-leadership.html

他在公司的名言是「When you give, you get」。他在上海成立科研中心,大方讓上汽參與,他認為各懷鬼貽的氣氛不可能做出成績。合資公司理論上是獨立個體,合資公司員工應把合資公司利益放到最前,而不是自己原屬公司的利益,但很少人做得到。慢慢下來,上汽也逐漸對墨菲產生尊重。


10. 永遠記得,做出決定前要先綜觀全局。

9. 否定別人跟切換開關一樣容易。但你最好拼死抵抗這種衝動,因為你也曾經做過蠢事。你做過爛決定,然後學習、成長,別人也一樣。

8. 掃地、擦桌、關燈。哪裡有漏洞要補就去補——即便那很瑣碎、沒人會注意。你必須做這些事去造福你的產品、你的公司,以及所有你們團隊共同打造的,令眾人驚艷、神奇的事物。

7. 你無法做所有的事。閉上眼睛,向後仰倒,學會信任。

6. 顯然有某種更為有效的方法能處理你正在做的事。是什麼呢?在每天回家的路上反覆思考吧。

5. 找出總是在依賴你的人,想想要怎麼做才能協助他們,讓他們自力更生。或許你覺得當個壟斷市場的鮭魚供應商很重要,但如果小鎮的所有人都學會捕魚,便能將你解放出來去做別的事。像是學習種小麥,或是如何馴服那些可愛的小狼。

4. 別說任何對當下討論沒有貢獻的話。你的聲音並非悠揚到絕對必須被聽見。

3. 做得出最好的決定比不上處在得以確保做出更多最佳決定的流程。

2. 就像你經常發表意見那樣,多說感謝和鼓勵的話語。

1. 最重要的是:永遠要掃除障礙物。那怕只是玩玩手指、看看窗外的雲,也別讓你那愚蠢、幼稚的自我阻礙團隊前進的腳步。[..]oftware-leadership-6-read-every-checkin/[..][..]op-5-mistakes-for-first-time-tech-leads/

How to lead with diplomatic -[..]how-to-be-both-assertive-and-diplomatic/

Dr. Nico Rose cites research that finds that happy people tend to be more effective leaders. -[..]-your-money-managing-your-life-part-one/

(google search) (amazon search)

Sat Feb 18 17:01:21 HKT 2017 From /gallery/Home/YimKan/htc


(google search) (amazon search)

Sat Feb 18 16:59:08 HKT 2017 From /gallery/Home/YimKan/htc


(google search) (amazon search)

Sat Feb 18 16:57:41 HKT 2017 From /gallery/Home/YimKan/htc


(google search) (amazon search)

Thu Feb 16 22:45:06 HKT 2017 From /weblog/languages/c


(google search) (amazon search)

Thu Feb 16 10:04:23 HKT 2017 From /weblog/database/vendor


SQL 2005 JDBC fix the resultset re-read throws exception problem. However, you need to use executeUpdate() for insert,update and delete instead of execute() for SQL 2005 JDBC, otherwise will throw exception on this.

Other that, statement.executeBatch() will throws exception:[..]kid=e13a8009-7466-4803-ba19-6bfd4b5f8966

Update of newer version -

New function of SQL server 2014, In-Memory Optimization tables, suppose to be faster? - MOT table also support native compiled query - , and lock free write?

From microsoft, Use the columnstore index to achieve up to 10x query performance gains over traditional row-oriented storage, and up to 7x data compression over the uncompressed data size. -

A tool from M$ to help sql server user to manage change of database: . Other similar product is DBGhost, also only work for SQL server

There is a free version of SQL server 2005 call SQL server express, which just like MSDE

Here is a comparison:[..]le/ArticleID/49618/sql_server_49618.html , may be we can use that instead of MSDE 2005 and discoutinue support of SQL server 2000 so that we can test one thing less?

Import CSV to SQL server -[..]oad-comma-delimited-file-csv-in-sql.html

Shriking DB cause performance problem... not sure how long this finding is hold -[..]eases-fragmentation-reduces-performance/[..]ver-storage-internals-part-1-basics.aspx

Get the metadata -[..]-metadata-from-sql-server-catalog-views/

Date functions -[..]roduction-to-sql-servers-date-functions/

Enhancement of 2016 -

Tool to rescue sql server -

(google search) (amazon search)

Thu Feb 16 00:11:57 HKT 2017 From /weblog/political


羅斯福 (Franklin D. Roosevelt, 1882-1945) -[..]%9A%E5%B0%8D%E4%BA%86%E4%BB%80%E9%BA%BC/

Michael Bloomberg -

Many leaders are the opposite—forceful and even dogmatic. And yet, they are very successful -[..]from-using-crucial-conversations-skills/

(google search) (amazon search)

Thu Feb 16 00:03:22 HKT 2017 From /weblog/design/pattern


(google search) (amazon search)

Wed Feb 15 17:35:52 HKT 2017 From /weblog/java/libraries


Discussion of difference Java base object to object mapper -[..]013/10/java-object-to-object-mapper.html

Some information about JOOQ -

(google search) (amazon search)

Tue Feb 14 18:00:18 HKT 2017 From /gallery/Home/YimKan/htc


(google search) (amazon search)

Mon Feb 13 14:38:25 HKT 2017 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.[..]com/2016/04/19/vim-commands-cheat-sheet/

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

tutorial -[..]editor-in-unix-example-tutorial-and.html[..]s/3mfvdg/how_do_i_go_about_learning_vim/

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

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

Snippert library ( e.g. function template ) -[..]3h7lca/which_snippet_library_do_you_use/[..]t_are_your_musthave_configs_and_plugins/[..]mments/2w22gf/edit_google_docs_with_vim/[..]nts/3ijsi2/original_post_a_vimrc_primer/[..]an_autocomplete_plugin_if_yes_which_one/

gUU to turn whole line upper case, and guu to turn whole line lower case -[..]_guu_makes_an_entire_line_lowercase_and/

can use :TOhtml to turn a text file to HTML -

set encoding=utf-8 -[..]how_to_reliably_switch_to_using_utf8_by/

If you like to test the regex for vi, can refer to this -[..]/blog/vim-creator-champions-charityware/

Another blog about using vim as IDE -

(google search) (amazon search)

Sat Feb 11 22:53:30 HKT 2017 From /weblog/entertainment


讓我狠狠想你——王家衛電影的思念與愛情 -[..]%9D%E5%BF%B5%E8%88%87%E6%84%9B%E6%83%85/

十大最浪漫電影 -[..]A3%E5%B9%B4%E8%8F%AF-%E4%B8%8A%E6%A6%9C/

不按牌理出牌!影史10大即興演出 -[..]02/top-10-deadliest-horror-villains.html

歎為觀止的一鏡到底!影史著名12顆長鏡頭畫面 -

你是動作科幻迷嗎?影史40把知名槍械大集合! -

「我要打十個!」 回顧甄子丹7場精彩武打場面 -

喜劇之外:班史堤勒 -

中土世界的魔法師:彼得傑克森 -

Famous robots -

Robin Williams -[..]-actor-and-comedy-genius-robin-williams/[..]ilarious-stand-up-comedy-jokes-from.html

鈕承澤 -

Matrix -[..]hings-you-probably-didnt-know-about.html[..]/what-does-an-engineer-see-in-the-matrix

[專題] 從黑澤明的《七武士》淺談剪接在電影發展裡的奧祕 -

About Pulp Fiction -

Johnny Deep -

Inception -

Evolution of sound in movie -

聽到聲就知影!8 首知名角色登場配樂! -

[專題] 跟著老師動疵動!十部你不能錯過的歌舞電影 -

[專題] 最熟悉的陌生人:六位你一定要認識的電影片頭設計大師 -

傑克葛倫霍, Jake Gyllenhaal -

About "Back to the future" -[..]facts-you-probably-never-knew-about.html

Star war fact -[..]s-to-bring-out-your-inner-jedi/?view=all

Alan Rickman -[..]should-know-about-alan-rickman/?view=all

10 個不露骨卻讓人臉紅心跳的床戲-

(google search) (amazon search)