RSS feed [root] /



title search:


Wed Feb 17 21:56:00 HKT 2021

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

Sun May 17 01:10:13 HKT 2020 From /weblog/design/examples


(google search) (amazon search)

Sat May 16 23:34:15 HKT 2020 From /weblog/software_engineering/team

work from home

work from home guideline from sun -[..]y=designing_from_anywhere_best_practices

Comment about working as independence consultant, a good reading that discuss some issue at HK or China limited this area of jobs -

10+ productivity tips when working from home, in summary, treat is as office -[..]productivity-tips-when-working-from-home[..]work-from-home-do-it-better-f33dd0e150d1

I’ve Worked From Home for 22 Years. Here’s What I’ve Learned. -[..]years-heres-what-ive-learned-11585354640

(google search) (amazon search)

Sat May 16 23:18:14 HKT 2020 From /weblog/business


Using game as training - , and drawing for communication -

No control, but empower -[..]01/some-thoughts-on-managing-people.html

10 rules of success, not really very insighful ideas but still nice to take a look:

Another 10 tips for product manager -

An interesting example of how people gaming the reward system -

Interview of Jeff Bezos and learn about his management style -

Dos and Don'ts for line manager -

8 elements of dysfunctional management -[..]lements-of-dysfunctional-management.html

Talk verse Action:
All Talk and No Action -[..]ectives-go-wrong-all-talk-and-no-action/
All Action and No Talk -[..]ectives-go-wrong-all-action-and-no-talk/
A suggestion of taking the balance -

Discussion about issues of managing remote teams -

Team building with the way of "pointy haired boss" ?? -

Promote the problem maker to make them better?? Is that work? - May be it is true that problem maker are innovator, give them more work and reward can change their negative performance to more than expected positive performance.

The most consistent and intense complaint from team members was that their team leaders were unwilling to confront and resolve problems associated with poor performance by individual team members.

Manage to learn -[..]dd-80e9-0000779fd18c.html?nclick_check=1

Suggestion about how to delegate to other, spend time to explain to vision -[..]E6%88%96%E8%80%85%E5%B4%A9%E6%BD%B0.html

Allocate free time to employee is good for company -[..]12/08/today-is-goof-off-at-work-day.html

What management should be -[..]-people-can-you-manage-as-a-manager.html

1. 清楚意識到您的創新意圖
2. 為彈性的工作時間設計一個架構
4. 測量什麼是有意義的
5. 給予「無實質價值」的報酬
6. 象徵化
7. 不是標準化地複製他人的創新行為[..]6-ways-to-create-a-culture-of-innovation

1. 在公司裡跟別人吐露的心事越少,對你越好。你以為是無傷大雅的閑聊,其實有可能會造成嚴重傷害。把你的猜測和擔憂都埋在心裡吧。

2. 務必管理好和下屬的關系。花時間和公司裡的較低層員工在一起,盡量對他們友好。對電梯操作員禮貌問候,對郵遞員表示感謝,對助理說句友善的話,這些都會得到讚賞。打造名譽要從基層做起。同樣的,碰到不爽的事情,要自己消化情緒,不要在別人面前發泄。

3. 做領導是一份全職工作,職責的時鐘永不停止。每個微小的跡象都會被解讀,你的不耐煩、失望或不安全感都會被那些解讀你的人放大。不應做出隨意、毫無準備的坦白,信息必須經過深思熟慮才能發出。要特別小心書面的東西,尤其是電子郵件──它們永遠都不會消失。

4. 保持聆聽並索取建議。每周至少在公司餐廳吃一次午飯,或者時不時在咖啡機旁逗留,聽聽其他人都在聊些什麼。如果有人想跟你說話,那就沒有理由不聽。如果有人批評,即使你不讚同也要花時間仔細回應。

5. 你覺得很風趣的俏皮話通常並不風趣。你的幽默感很容易被解讀為自傲和笨拙。如果你仍然以為講笑話或引用某個幽默故事對陳述觀點很重要,那麼請先跟你的配偶或信任的朋友演練一遍。幽默是有風險的。千萬不要拿嚴肅的事情開玩笑。

6. 很重要的一點是,保証重要事務的重要性。應該經常解釋你的戰略,可以換個措辭,但要反復強調。

7. 絕不要抱怨和解釋,沒有人會聽。出了差錯就承擔責任。不要把錯誤怪到前幾屆管理層、天氣、運氣不好或競爭對手身上。但也不要露出防御姿態。向前看──除非上級要求你辭職。

8. 信任你的專業顧問,接受他們的專業意見。不要對市場做過多猜測。沒有所謂的完美數據。做出決策,往前走。

9. 謹慎使用“平均”這個詞──平均深度為6英寸河也可能淹死人。欣然接受“平均”,只會獲得虛假的安全感。假設最糟糕的情況會發生,因為通常就是如此。

10. 最後這條是陳詞濫調,但卻是至理真言:絕不要做或說你不希望在報紙頭條看到的事情。和媒體打交道時,不要回答假設性的問題,謹記麥克風永遠不會真正關閉,絕不要同意“私下”談。對一場危機唯一值得做的公開回應是誠實。[..]0001424052702303519404579353060931625306

給新手高管的10條建議 -[..]/causes-and-solutions-for-bystander.html

以競爭激發員工潛力有其道理,但就我過往所見,鼓催互鬥文化往往淪為非實力較量,最後變成內部互搞小動作放毒箭,對公司產生最嚴重的破壞 - 內耗。 -[..]%84%EF%BC%9F%EF%BC%8F%E5%BE%90%E7%B7%A3/

Good developer cannot be good manager? -

Manager guide in google -

Every person is a vector — add them all up, and you know how much progress your company is going to make. -[..]me-about-growing-a-business-c2c173f5bff3

The Seven Habits of One Highly Effective Manager of Managers: Things I Learned from Charity Majors -

SuperCell 的组织结构 -

(google search) (amazon search)

Sat May 16 23:10:40 HKT 2020 From /weblog/web/script


Prototype reference -

Discussion of javascript with a lot of pointers -

New version of Javascript -

15 javascript you cannot live without -[..]vascript-snippets-you-cant-live-without/

A tutorial -

Pointers of a lot of libraries -[..]/my-library-of-javascript-libraries.html

The 2020 Web Developer Roadmap -[..]-2020-web-developer-roadmap-76503ddfb327

(google search) (amazon search)

Wed May 13 18:33:01 HKT 2020 From /weblog/health/food


At least, we should not take too much per meal -

Get the Protein You Need -[..]y-eating-20/slideshow-how-to-get-protein

(google search) (amazon search)

Sun May 10 20:12:52 HKT 2020 From /weblog/history


Childhood memories of 1920s Hong Kong -

《 香港老字號:廖同合荳品廠 》 -

《 香港老字號:「慈善遮王」何希記造遮 》 -

Tram -

Inside Kowloon walled city -

1957-8: Andrew Suddaby's photos -

一樓一古:宅在摩星嶺文物屋 -[..]supplement/culture/art/20130527/18272607

Tong Lau / 唐樓, the Hong Kong shophouse -

Some old color photos -

【動畫●橫瀾島牛奶叔】最後的燈塔守護者 28年自給自足最開心 -[..]om/realtime/supplement/20161125/55956449

中環卅間唐樓-鬧市中的迷樣建築群 -中環卅間唐樓-鬧市中的迷樣建築群/

Tokwawan -[..]%96%E7%95%8C%E7%9A%84%E5%85%A8%E9%83%A8/

當銀行計劃書變成獨立宣言-滙豐銀行的建立與香港金融民族主義 -[..]%8D%E6%B0%91%E6%97%8F%E4%B8%BB%E7%BE%A9/

Hea字原來都有得寫 齊來認識廣東話 -[..]1%E8%A9%B1-%E7%94%9F%E6%B4%BB%E7%AF%87/1

(google search) (amazon search)

Fri May 08 21:34:41 HKT 2020 From /weblog/trip


長途荒野電源 -

想買電筒,請大家介紹 ^^ -

DIY 酒精爐 (超詳細,圖文並茂 -

進階技巧 之 用 網頁規劃專屬路線 -

(google search) (amazon search)

Thu May 07 20:31:36 HKT 2020 From /weblog/design/distribute


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

6 Event-Driven Architecture Patterns —[..]rchitecture-patterns-part-1-93758b253f47

(google search) (amazon search)

Thu May 07 20:25:20 HKT 2020 From /weblog/computer+science

operating system

The little book about OS development -

(google search) (amazon search)

Tue May 05 13:39:28 HKT 2020 From /weblog/learning


焦慮能讓你表現更出眾 -

Importance of finding out your Signature Strengths -[..]ature-strengths-and-trading-success.html

那么,你應該從哪做起呢?加州德爾馬(Del Mar)的心理學家理查德‧萊瓦克(Richard Levak)表示:“首先,我們必須認識到性格中有哪些因素對我們構成了影響。如果我愛發牢騷,好爭辯,還有點多疑,我總是因為跟同事吵架,老是責怪別人而被解雇,那我就必須意識到得改變一下。”

How you can use your negative emotion -[..]reat-depression/304247/?single_page=true

Performance improvements… or experiments? -[..]ormance-improvements-or-experiments.html[..]e-you-operating-in-peak-performance.html

This, I find, is the single greatest impediment to pursuit of excellence: Most of us are simply too busy doing our jobs well to become truly world class at what we do. I occasionally ask traders to go back to old journal entries and tell me how much time they spent reviewing those entries and assessing their progress over the past week. In the great majority of instances, the journal entries are never revisited! -[..]ndar-into-a-peak-performance-tool/print/

10-questions-can-dramatically-change-life and business (I don't think so, but anyway a good reading) -[..]ns-can-dramatically-change-life-business

零成本提升工作和健身效率之道:科學擇時 -

Another article about why it is important to do thing at right timing -[..]dont-i-trade-my-plan-when-i-plan-my.html

a) Using a Calendar
b) Working in Shorter, Uninterrupted Segments
c) Mindfulness
d) Self-Reminders[..]cognitive-behavioral-techniques-for.html[..]els-i-find-repeatedly-useful-936f1cc405d

The point is finding the prime time -[..]m-won-t-make-you-successful-b3c77921d9fd[..]wer-of-doing-nothing-at-all-73eeea488b8b[..]-evolved-and-its-benefits-versus-modesty[..]y-changing-your-environment-270ce4f141e9

Slow and steady wins the race -[..]cience/short-breaks-memory-skill-2363625

The highest levels of productivity and well-being are likely to come from a good balance between persevering through hardship toward attainable goals, and disengaging from action plans that lead to unrealistic goals -[..]ower-look-like-in-the-brain-8cafd0c024ec

The Nine Habits to Increase Your Energy -[..]/the-nine-habits-to-increase-your-energy[..]tivity-boosting-habits-for-photographers

The performance-enhancing trick to being a better athlete -[..]-a-better-athlete?ocid=global_future_rss

(google search) (amazon search)

Fri Apr 24 15:12:49 HKT 2020 From /weblog/religious


資源分配的模式 -[..]9%85%8d%e7%9a%84%e6%a8%a1%e5%bc%8f/63448

(google search) (amazon search)

Mon Apr 06 21:51:19 HKT 2020 From /weblog/java/network


(google search) (amazon search)

Fri Apr 03 19:15:44 HKT 2020 From /weblog/health


(google search) (amazon search)

Tue Mar 31 13:43:41 HKT 2020 From /weblog/business


Some techniques -

Claim to threaten is more useful -[..]living/negotiation-tips-giver-taker.html

(google search) (amazon search)

Sun Mar 29 18:20:39 HKT 2020 From /weblog/security


(google search) (amazon search)

Sun Mar 29 18:15:44 HKT 2020 From /weblog/java/concurrency


Even though

private List synchList = Collections.synchronizedList(new LinkedList());

is thread safe, serialize sync List is NOT thread safe for sure. The story is, if you only synchronized the collection, and if we try to get the iterator in concurrent access environment, it will throws currencymodificationexception .

For collection is small, may be making defensive copy is good. Otherwise, in java5, there is concurrency collection.


Map operation, include use of FutureTask and putIfAbsent() method from ConcurrentMap. -

Other then lterate through the elements, adding and removing elements can also be problem, this article document a few good cases about that -[..]en-a-synchronized-class-isnt-threadsafe/

Samples of using Queue.drainTo() -[..]rforming-fixed-amounts-of-work-with.html

Overview of blockingqueue -[..]/java-util-concurrent/blockingqueue.html

Simple benchmark -[..]jvm-performance-part-iii-concurrent.html

Multi-thread behaviour -[..]hread-safety-issues-with-vector-and.html

java.util.concurrent.ConcurrentHashMap VS openhft.collections.SharedHashMap -[..]autilconcurrentconcurrenthashmap-vs.html

Why are there so many concurrent queues implementations in Java? -

Why hashmap is not thread safe -[..]a-HashMap-is-considered-as-thread-unsafe

(google search) (amazon search)

Sat Mar 28 20:09:46 HKT 2020 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 Hotjar scaling -[..]-while-scaling-hotjars-tech-architecture

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

How netflix scale -[..]ix-what-happens-when-you-press-play.html

Scaling to 100k Users -[..]ity/systems/2020/02/03/scaling-100k.html

(google search) (amazon search)

Fri Mar 27 11:42:59 HKT 2020 From /weblog/learning


(google search) (amazon search)

Mon Mar 16 07:47:36 HKT 2020 From /weblog/design

Object attributes

About getter and setter -

Discussion of hashcode and equal of collections -[..]11/why-no-equals-and-gethashcode-in.html

A blog discuss the problem of getter / setter -[..]rise?entry=the_case_against_the_property

Equality Is Hard -[..]m/posts/2020-03-09-equality-is-hard.html

(google search) (amazon search)

Mon Mar 16 07:46:47 HKT 2020 From /weblog/web/script


How I made a 3D game in only 2KB of JavaScript -

(google search) (amazon search)