RSS feed [root] /



title search:


Sun Jul 23 22:00:11 HKT 2017

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

Sat Sep 23 22:33:40 HKT 2017 From /weblog/learning


Positive Professional Development: Insights Into Action -[..]ctblog/2011/07/insights-into-action.html

50 Productive Things To Do to Organize Your Life -

Pay to you children to teach you -

Tips on say no -

the-overthinkers-guide-for-taking-action -[..]ers-guide-for-taking-action-4670ca1f1b6d

The first step is never physical. It is entirely mental.
The first step is a decision.
A decision to commit. A decision to act. -[..]Robot/the-power-of-decision-74f0d8ca78d2

(google search) (amazon search)

Tue Aug 08 22:57:56 HKT 2017 From /weblog/software_engineering/SCM


Why merge often -[..]/cgi-bin/cmwiki/view/CM/BranchYesMergeNo

A lot of resource here -[..]i-bin/cmwiki/view/CM/BranchingAndMerging

At my company, we tag each CVS module and we use those tags to build releases. That way, we know exactly which code versions each deployment has. Also, developers can check in code at any point while controlling when they release it.

Branches are a major headache, which I avoid whenever possible. You have to worry about maintaining and testing each branch, along with merging changes. I prefer to release the latest and greatest code to each customer. If different customers require different behavior, if statements and configuration files are a lot better than CVS branches.

Branches do make sense if you want to release a minor change to an old release, but upgrading the entire code base is risky. However, high-quality code and testing should reduce that risk.[..]arent=16312&ixDiscussGroup=3&cReplies=11

Subversion branching technique and tips -[..]version-best-practices-branching_01.html[..]version_tips_dealing_with_branches.html/

Another discussion -

Branch visualization -[..]07/05/linus-torvalds-on-git-and-scm.html

One way of manage branching and merging, the summary is, frequency create new branch for pre-merge instead of one time big merge -[..]old-you-about-svn-branching-and-merging/ My colleagues suggest subversion merge tracking can solve the problem without that pre-merge, but I am not sure how that can work...

No branch?[..]-of-code-in-a-single-repository/fulltext[..]s/2017/08/How-Google-build-Web-framework

(google search) (amazon search)

Tue Aug 08 18:12:08 HKT 2017 From /weblog/design/distribute


Event Bus Implementation(s) -[..]2017/08/Summary-event-bus-implementation

(google search) (amazon search)

Tue Aug 08 09:54:14 HKT 2017 From /weblog/security


How to use basic UNIX tool to steal other facebook identity -

More on BGP Attacks -

Discussion of crack protection - , introduce tools -

Ten Immutable Laws of Security
Law #1: If a bad guy can persuade you to run his program on your computer, it's not your computer anymore
Law #2: If a bad guy can alter the operating system on your computer, it's not your computer anymore
Law #3: If a bad guy has unrestricted physical access to your computer, it's not your computer anymore
Law #4: If you allow a bad guy to upload programs to your website, it's not your website any more
Law #5: Weak passwords trump strong security
Law #6: A computer is only as secure as the administrator is trustworthy
Law #7: Encrypted data is only as secure as the decryption key
Law #8: An out of date virus scanner is only marginally better than no virus scanner at all
Law #9: Absolute anonymity isn't practical, in real life or on the Web
Law #10: Technology is not a panacea[..]s/security/essays/10imlaws.mspx?mfr=true

An example of buffer overflow attack -

hack yourself! -

(google search) (amazon search)

Sun Aug 06 17:21:16 HKT 2017 From /weblog/unix/script


10 awk tips -

8 Powerful Awk Built-in Variables – FS, OFS, RS, ORS, NR, NF, FILENAME, FNR -[..]iables-fs-ofs-rs-ors-nr-nf-filename-fnr/

Tutorial of text editing commands -[..]works/aix/library/au-unixtext/index.html

wc and nl tutorial -

tips for uniq, like show only items have duplications -

Tips of "cat", include display by column and by delimiter -

Using lynx to convert HTML to text -

(google search) (amazon search)

Sun Aug 06 17:20:16 HKT 2017 From /weblog/unix/script


Various ways to working with file -

Use truncate to pad the file size up -

Making a file unalterable with chattr -

(google search) (amazon search)

Sun Aug 06 16:15:20 HKT 2017 From /weblog/trip


周末熱辣辣 落水消暑! 11個環保署評定「一級」靚水質 香港沙灘 -[..]%E7%B4%9A-%E7%92%B0%E4%BF%9D%E7%BD%B2/2/

(google search) (amazon search)

Sun Aug 06 09:37:23 HKT 2017 From /weblog/database/transaction


Transaction, same as all the concept in computing, is an approach and trade-off -[..]

Transaction file system -

Explanation about database isolation level -[..]-and-their-effects-on-performance-a.html[..]08-01-practical-guide-sql-isolation.html

A nice article explain about transaction process -[..]Nuts-and-Bolts-of-Transaction-Processing[..]guide-to-acid-and-database-transactions/

(google search) (amazon search)

Sat Aug 05 00:18:58 HKT 2017 From /weblog/entertainment


Prince -[..]-the-artist-you-knew-as-prince/?view=all

elvis-presley -[..]ting-facts-about-elvis-presley/?view=all

george-michael -[..]-not-know-about-george-michael/?view=all

【傾聽音樂】中世紀音樂是宗教的奴僕,還是高貴的婢女 -[..]%98%E8%B2%B4%E7%9A%84%E5%A9%A2%E5%A5%B3/

(google search) (amazon search)

Fri Aug 04 23:45:53 HKT 2017 From /weblog/trip/camping


8字結 -[..]ke-your-weekend-more-enjoyable/?view=all



(google search) (amazon search)

Thu Aug 03 18:22:14 HKT 2017 From /weblog/design


Refactoring to Patterns Catalog -

Article talk about the book:

Catagories smell into "smell in class" and "smell between class" -

Known but good to remind[..]10/01/6-steps-to-master-refactoring.html

An experience sharing -[..]m/2011/05/refactor-hudson-god-class.html[..]treme-Refactoring-with-Brian-Button.aspx

Refactoring should not introduce bug... -[..]01/so-why-are-you-refactoring-again.html

A way to have formal refactoring, through Feature Clustering, Rapid Scratch Refactoring and Twisting Classes -[..]rom-michael-feathers-brutal-refactoring/

Not all code change is refactoring - , and

Some common issues about refactoring code in a team -[..]/2008/01/28/dont-be-a-refactoring-bigot/[..]01/dangers-of-premature-refactoring.html , beware taking the balance -[..]ith-beautiful-code-the-refactor-syndrome

Refactory if needed -

Refactoring, when start, when stop? -

Refactoring metric -[..]rics-based-refactoring-for-cleaner-code/

Getting rid of util class
1) If the family of methods uses different parameters, depending on optional input or representations of the same input, then consider transforming the Helper via a fluent interface using the Builder pattern: from a collection of static methods like Helper.calculate(x), calculate(x, y), calculate(x, z), calculate(y, z) we could easily get to something like newBuilder().with(x).with(y).calculate(). The helper class would then offer behaviours, reduce its list of business methods and provide more flexibility for future extensions. Callers would then use it as internal field for reuse or instantiate it where needed. The helper class (as we knew it) disappeared.
2) If the helper class provides methods which are actually actions for different inputs (but, at this point, for the same domain), consider applying the Command pattern: the caller will actually create the required command (which will handle the necessary input and offer a behaviour) and an invoker will execute it within a certain context. You may get a command implementation for each static method and your code would move from an Helper.calculate(x, y), calculate(z) to something like invoker.calculate(new Action(x, y)). Bye bye helper class.
3) If the helper class provides methods for the same input but different logics, consider applying the Strategy pattern: each static method may easily become a strategy implementation, vanishing the need of its original helper class (replaced by a context component then).
4) If the given set of static methods concerns a certain class hierarchy or a defined collection of components, then consider applying the Visitor pattern: you may get several visitor implementations providing different visit methods which would probably replace partially or entirely the previously existing static methods.
5) If none of the above cases met your criteria, then apply the three most important indicators: your experience, your competences in the given project and common sense.[..]-to-get-rid-of-helper-and-utils-classes/

Converting forloop to streaming -

Refactoring JavaScript from Sync to Async in Safe Baby-Steps -

code-refactoring-dos-donts -

(google search) (amazon search)

Thu Aug 03 00:41:23 HKT 2017 From /weblog/learning


How to learn language in 30 days -[..][..]power-of-daily-positive-words-15115.html

Language make the difference -[..]shocked-by-chinese-multiplication-table/

crazy-facts-about-languages -[..]nguage-fluently-quickly-and-efficiently/

5 tips for learning Mandarin -[..]-great-advice-from-a-variety-of-experts/

Choice other than "Regards" -[..]/email-sign-offs-for-every-occasion.html

Resource of learning a lot difference languages -

Bubble physics can explain why dialects appear and how they evolve -

(google search) (amazon search)

Thu Aug 03 00:35:47 HKT 2017 From /weblog/health/food


Pros and Cons for vegi -[..]84%E5%BC%8A%E8%88%87%E5%88%A9-%E4%B8%80/

B12 is important -

熟吃損失多少維生素? -[..]0%91%E7%B6%AD%E7%94%9F%E7%B4%A0%EF%BC%9F

中國城市人的香椿情結 -

西蘭花如何幫助身體應對空氣污染 -

13 Easy Ways to Eat More Greens -

Recipes that use veggies from garden -[..]s-and-veggies-from-your-garden/?view=all

lutein-veggies-cognitive-protection -[..]n-veggies-cognitive-protection-01082018/

(google search) (amazon search)

Tue Aug 01 23:47:19 HKT 2017 From /weblog/learning


When child lie...

How to encourage child -[..]4/09/fun-ways-to-teach-kids-to-code.html

Give Child some duty for good -

步入青春期的孩子最需要從父母那裡得到什麼? -

初中男生多煩惱,父母可知道? -

研究發現和沒有做家務或者十幾歲才開始做家務的孩子相比,3-4歲就開始做家務的青年成人更有可能和家人及朋友關系融洽、學習優秀、較早實現事業成功及經濟獨立。 -[..]uter-science-and-computational-thinking/

專家回答:這不容易,但還是有可能的。人際關系專家兼咨詢專欄作家April Masini說:“家長既要讓孩子繼續保持這種精神氣,又讓他們知道自己行為的後果,要在兩者之間找好平衡點。”她稱,家長可以通過具體的事例,來給孩子講述,在什麼場合、用哪些方法來質疑老師和長輩是OK的,還要解釋這樣做的可能後果。你這樣教育的目的,是讓孩子知道,有時候規則可以打破,邊界可以移動,但行為卻是會帶來風險的。

如何培養出真正的成年人 -

所以,你要做的不是告訴你的孩子冷靜下來,而是應該告訴他們,有機會展現自己的才能,是一件特別幸運的事。<- this is a simple suggestion -

No gifted child -[..]such-thing-as-a-gifted-child-einstein-iq

公平地“偏心”。確保每個孩子都得到優待:例如,如果把周末花在女兒的足球比賽上,那就在工作日找些時間關注你兒子的興趣愛好。 -

(google search) (amazon search)

Mon Jul 31 13:57:56 HKT 2017 From /weblog/security


Make sure all your passwords are 12 characters or more, Use bcrypt or PBKDF2 exclusively to hash anything you need to be secure. -

Password is only worked for one time -

crack captcha -

Java password mask -[..]er/technicalArticles/Security/pwordmask/

OpenID resource -[..]ge/spidaman/20070225#the_openid_snowball[..]_id=46569&asrc=EM_NLN_2030603&uid=703565

OpenID explain -

A technique that crack winxp password at 3 min -

Using image as password -

The other interesting idea, Evolving Password -[..]uid=79730e53-1d30-47ae-98e8-abb55201429b

Passphrase Evangelism -

Rainbow Hash Cracking - , add salt (token) to prevent it -

How to make password harder to be guessed, but I guess there should be simple way to guess "this is fun", other than take 2537 years? -

Discussion about if some old suggested rules about still valid or not -

Using quantum for password? -

Salted Password Hashing - Doing it Right -[..]w-to-encrypt-the-user-password-correctly

It sound like outsource is better -

(google search) (amazon search)

Sun Jul 30 17:10:51 HKT 2017 From /weblog/unix


Few config suggestions -[..]20-linux-server-performance-tips-part-2/

Linux kernel profiling with perf -

Intel VTune Amplifier profiler -

Oracle solaris studio -[..]torage/solarisstudio/overview/index.html <- "This page links to various Linux performance material I've created, including the tools maps on the right."

(google search) (amazon search)

Thu Jul 27 10:50:05 HKT 2017 From /weblog/health


depression -[..]pression-and-improve-your-mood/?view=all

【壹週刊健康】認識ADHD》腦裡有嘭嘭聲乜都喊 -

鍛煉能改善孤僻和拖延? -

(google search) (amazon search)

Wed Jul 26 10:57:03 HKT 2017 From /weblog/database

time series

Some information about Time Series:[..]ocs/cd/A87860_01/doc/inter.817/index.htm[..]1/time-series-forecasting-part-1_23.html

Discussion of time in time series database - UTC or local -[..]ime-in-time-series-database-utc-or-local

Market data:

and a book:[..]iented-database-applications-in-sql.html

Should we use DATE as key or INT as key?[..]senting-time-series-implementation-level

Collections of column-oriented stores -[..]s/1392/usage-of-nosql-storage-in-finance

时序数据库深入浅出之存储篇 -

深入浅出时序数据库之压缩篇 -

pretreatment -[..]les/pretreatment-in-sequential-databases

Why -

分级存储 -[..]archical-storage-of-sequential-databases

(google search) (amazon search)

Wed Jul 26 10:20:22 HKT 2017 From /weblog/web


One of many tips of how to design a website that deliver content faster -[..]006/02/02/10-steps-to-a-faster-web-site/

The other, for user to read quick -[..]0-ways-to-design-for-impatient-visitors/

Webmaster tools, marketing -
Webmaster tools, page development -
and tools to tune page performance -[..]tools-to-boost-up-your-site-performance/

Tips from codinghorror -[..]og/2011/06/performance-is-a-feature.html

Tips from ACM -

Web Framework Benchmarks -

How taobao optimize their mobile app -[..]bao-521-performance-optimization-project

The timeline of how browser showing the page, and how to optimize it -[..]rontend-performance-chrome-timeline.html[..]-for-the-browser-f2f51a29c572#.7ivccwl5e

How a page loaded fast -[..]d-page-loads-lessons-learned-4bb1be3ed07

About making picture load faster -[..]icles/yelp-lossless-compression-pictures

(google search) (amazon search)

Tue Jul 25 11:18:11 HKT 2017 From /weblog/trip/travelling

south america

阿根廷的觀鳥天堂 -[..]

magnificent-torres-del-paine-national-park-photos-you-absolutely-have-to-see -[..]tos-you-absolutely-have-to-see/?view=all

Hotel next to Perito Moreno Glacier -


世界獨一無二 哥倫比亞彩虹河奇觀 -

(google search) (amazon search)

Tue Jul 25 00:48:50 HKT 2017 From /weblog/science


Interesting, test speed of light with ping -[..]experiments-to-derive-the-speed-of-light

History of color photograph -

光電效應:愛因斯坦的諾貝爾 -[..]19/photoelectric-effect-einsteins-nobel/

光速:宇宙高速公路的速度限制 -

What exactly is a photon? Definition, properties, facts -

Why Gold is yellow in color -[..]other/feature-post/gold-color-relativity

(google search) (amazon search)

Fri Jul 21 17:24:58 HKT 2017 From /weblog/database/performance

Note of SQL performance tuning

Note of this book -

1) Order of "and" and "or" is matter, if no cost-base optimizer

where column1 = 'a' and column2 = 'b' -> where column2 = 'b' and column1 = 'a' if column2 'b' is less likely

2) <> is more expensive than =

3) Can force to use index if SELECT * FROM table WHERE indexed_column > 0

4) UPPER(column) might lose information, use LOWER is better

5) WHERE column = 'WORD' or column = 'word' is always faster than WHERE LOWER(column) = 'word' , even faster version is test if database if case-insensitive: WHERE column = 'WORD' or ('WORD' <> 'word' AND column = 'word')

6) 32bit integer is the fastest datatype for 32bit OS

7) column in (?, ?) is faster than column =? or column = ? for some database, and don't slow in any database

8) For aggregate functions, prevent using having, try to use fewer columns in group by and use subquery if possible

9) In fact, count(1) is not faster than count(*)

10) CAST before aggregate function: SELECT CAST(SUM(column) AS INT) -> SELECT SUM(CAST(column as INT))

11) Use constant as much as possible, e.g.: select * from t1, t2 where t1.c1 = t2.c1 and t1.c1 = 1 -> select * from t1, t2 where t1.c1=1 andn t2.c1=1

12) Information of Join vs Subqueries

13) Information of optimum column type (VARCHAR, TIMESTAMP, WORD size INT and CHAR(1) usually better), shift effect for page

14) prevent NULL for porting issue

15) Low level table physical information

Some related links -[..]9/12/sql-optimization-tipsquestions.html

16) Prevent database level transaction, prevent joining, prevent locking ( like auto increment key ), pretty good suggestion -

Few good tips, like avoid cursors -[..]ent/21-rules-for-faster-sql-queries.html

(google search) (amazon search)

Thu Jul 20 00:11:49 HKT 2017 From /weblog/learning


In other words, both groups were stressed, but one group channeled the stress as a performance challenge; the other group as a performance threat. It wasn't the stress of a difficult test that caused distress--everyone felt that. It was how subjects interpreted their stress. -[..]mbracing-stress-minimizing-distress.html

Calming when conflict -[..]ks-in-the-human-body-to-make-or-break-us

(google search) (amazon search)

Wed Jul 19 17:07:17 HKT 2017 From /weblog/political



民主、法治與自由 -


Noam Chomsky -

從思考終審法院的多數決制度我們能學到什麼? -[..]%BD%E5%AD%B8%E5%88%B0%E4%BB%80%E9%BA%BC/

(google search) (amazon search)