RSS feed [root] /



title search:


Sun Jul 23 22:00:11 HKT 2017

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

Tue Aug 15 23:21:02 HKT 2017 From /weblog/learning


How habit affecting you -[..]2012/02/poor-study-habit-and-remedy.html

How to change habit -

How to quit bad habit -[..]028&elq=2220804c77864d95acba08b4a6f21c23

好奇心,细节 -

The most interesting things I've learnt about learning -[..]-most-interesting-things-ive-learnt.html

The most interesting things I've learned about improvement -[..]t-interesting-things-ive-learned_14.html

* Increase your exposure to new and different ideas
* Spend as much time learning from your trading as you actually spend trading
* Manage yourself, not just your risk and your positions[..]hree-best-practices-of-best-traders.html[..]/energy-well-being-and-success-four.html

直覺的奧妙 — Blink -[..]%A6%BA%E7%9A%84%E5%A5%A7%E5%A6%99-blink/

1)  How does the person spend his or her free time?  Per Ayn Rand's observation above, what does he or she do for enjoyment?  

2)  How does the person respond to your successes?  Many people are willing to commiserate with you when you're down and elevate themselves in the process.  A person of genuine goodwill celebrates your successes and is happy for your happiness.

3)  What strong beliefs does the person voice and live through their actions?  Character means standing for what you believe in and living your beliefs.  Go along and get along might be comfortable, but commitment is what powers effective action in the world.[..]hree-powerful-measures-of-character.html

Ask as a habit -[..]%83%E9%80%99%E5%80%8B%E5%95%8F%E9%A1%8C/

practice consistently, stay warm -[..]brain/halo-starcraft-practice-excellence

Wake up early -[..]e-guide-for-waking-up-early-a750c011eb07

(google search) (amazon search)

Mon Aug 14 21:30:59 HKT 2017 From /weblog/learning


How to learn maths? Make a story about it -[..]not-to-memorise-mathematics-98fef71aefcf

(google search) (amazon search)

Wed Aug 09 11:37:20 HKT 2017 From /weblog/design


Use present and absent rather than NULL -

Propose of enhancement, null handelers and null reference -[..]01/null-handelers-and-null-refere-1.html

How null breaks polymorphism -[..]s-polymorphism-or-the-problem-with-null/[..]orphism-or-the-problem-with-null-part-2/

Discussion about forbid NULL as parameter and return -[..]5/07/null-parameters-and-returning-null/

Default object in C# -[..]t/2012/09/25/Default-Objects-with-C.aspx

Discussion about using optional -

Some suggest about do something better than use null -

(google search) (amazon search)

Wed Aug 09 00:23:01 HKT 2017 From /weblog/career


Links of tips of how to be a productivity person -[..]-read-productivity-tips-for-freelancers/

Ten ways to ensure that you finish work on time

1. Ensure that you learn from your calls
2. Make sure that you complete an entry for the knowledge base
3. Make sure that the users understand the help desk opening hours.
4. Ensure that you deal with calls effectively.
5. Cut out the unnecessary chatter.
6. Don’t feel guilty about finishing at your appointed time.
7. Organize your day so that the urgent stuff gets done first,
8. Start on time.
9. Some people think that the boss will be impressed by seeing you stay late. A good boss will not be fooled by this
10. A recent survey showed that the longer you stay at work the more your efficiency declines.


Don't denial what really happening -[..]blog/2015/08/why-denial-doesnt-work.html

Isolation, Bimodal, habit and rest -[..]roduce-deep-meaningful-work-d9aafc3d32e3

Count 5 second before start -[..]done-with-the-5-second-rule-b7abea890087

(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: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)

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)

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)