RSS feed [root] /weblog



title search:


Tue Jan 17 22:34:04 HKT 2017


log down some useful resource

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

Mon Feb 19 23:30:09 HKT 2018 From /weblog/computer+science


Bootstrapping a compiler from nothing. -


What LLVM can do, and cannot do -[..]er-behind-swift-rust-clang-and-more.html

(google search) (amazon search)

Thu Jan 04 14:44:30 HKT 2018 From /weblog/languages


How go utilizing-multi-core

package main

import "runtime"

func calc()
sum := 0;
for i := 0; ; i++ {
sum += i;

func main()
go calc();
go calc();
go calc();
go calc();
go calc();
go calc();
go calc();

A presentation -

Some good thing about go -[..]3/12/16/studying-go-language-golang.html

About memory management and thread -

Several good tools -[..]ous-integration-like-a-boss-941a3a9ad0b6

A few practical comments of using go in production -

(google search) (amazon search)

Fri Dec 29 17:51:28 HKT 2017 From /weblog/java/tools


Compare between pulsar and Kafka -[..]ar-distributed-pub-sub-messaging-system/

(google search) (amazon search)

Tue Dec 19 23:12:34 HKT 2017 From /weblog/misc


(google search) (amazon search)

Mon Dec 18 23:43:55 HKT 2017 From /weblog/love


how-nobel-winning-economic-theories-can-help-your-online-dating -[..]-help-your-online-dating/?mod=marketbeat

“The truth about the timing being wrong is that it’s nothing more than the world’s flimsiest reason not to try. It’s the simplest excuse to pack it in. It’s a pre-designed reason to bow out. Saying that the timing is wrong is saying nothing more than ‘You aren’t worth any inconvenience.’” -[..]-no-right-person-wrong-time-ac38f05dd0e6

(google search) (amazon search)

Mon Dec 18 15:52:41 HKT 2017 From /weblog/design/distribute


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

(google search) (amazon search)

Wed Dec 13 16:56:34 HKT 2017 From /weblog/computer+science


algorithm dictionary -[..]5/is-there-an-encyclopedia-of-algorithms

How to answer algorithm question -[..]/26/how-to-rock-an-algorithms-interview/

List of algorithm -

Huffman encoding -[..]50-an-in-depth-look-at-huffman-encoding/

Discussion of using difference algorithm to get Fibonacci number, the matrix modeling is really nice -[..]/04/29/the-worst-algorithm-in-the-world/

What O(log n ) mean -[..]log/2010/01/06/analysis-of-an-algorithm/

Introduction to Dynamic Programming -[..]/06/introduction-to-dynamic-programming/

Introduction to pagerank -

Introduction to B+ tree -[..]indexes-and-how-they-impact-performance/

Text Editors: Algorithms and Architectures -[..]&siteSectionName=architecture-and-design

Matching Wildcards: An Algorithm -[..]888?elq=1dd35f241fda4e7e816c3d5e4d5451c2[..]everyday-algorithms-elevator-allocation/[..]ructure-and-algorithm-books-in-java.html

一致性算法 -[..]ki/download/attachments/6586375/raft.pdf[..]t-important-algorithms-of-graph-and.html[..]-is-algorithm-algorithm-is-any-well.html

Deep Dive Through A Graph: DFS Traversal -[..]rough-a-graph-dfs-traversal-8177df5d0f13

(google search) (amazon search)

Tue Dec 12 10:41:54 HKT 2017 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

(google search) (amazon search)

Mon Dec 11 22:53:25 HKT 2017 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/

Transfer project to products -

(google search) (amazon search)

Wed Dec 06 22:29:35 HKT 2017 From /weblog/trip/travelling


黃山白雪 snow trip -


Collection of travelling stories -[..]y=lastpost&ascdesc=desc&searchsubmit=yes

***老虎走遍韶關***:“九峰花海、五山雲海”-20120318鐵驢美麗樂昌探路行圖記 -[..]cript/forum/view.asp?article_id=32159756

縱橫廣東-賞花之旅(圖文分享) -

二零一一年十二月,雲之南 -[..]t=0&sid=23fee3b247c030928b3cbdeb22a7c8de

二零一二年四月,荊楚之旅 -

探尋潘家口水庫中的長城需要頑強的毅力、良好的視力和一副潛水面罩。1976年唐山大地震後,中國修建了潘家口水庫(水庫位於北京東北方向150英裡處),許多殘敗的村莊因此被淹,半英裡長(約合805米)的長城 體也沒入了水中。 -

和順順和 -

Huashan Mountain -[..]rlds-most-dangerous-hiking-trail_16.html

2012.10 雲南之旅 Part II - 怒江大峽谷 -

墨脱县 -墨脫

經典“白天鵝”裡的經典菜 -

Bus trip at China -[..]02/08/brother-public-transits-trip-home/

廣東五邑 -[..]%97%E5%B8%AB%E5%8F%96%E6%99%AF%E5%9C%B0/

贡嘎西南 -

深圳塘朗山 -

广东省普宁市 -

新疆 -[..]%87%E6%88%91%E7%9A%84%E6%83%85%E7%B7%A3/[..]%B2%E5%85%A5%E7%BE%85%E5%B8%83%E6%B3%8A/[..]or/%E6%96%B0%E7%96%86%E8%80%81%E5%A7%9A/

【遊內蒙】千軍萬馬祭敖包 顯蒙古男兒本色 -[..]om/realtime/supplement/20140729/52742618

甘肅省張掖市臨澤與肅南縣境內的張掖丹霞國家地質公園 -[..]ational-geological-park-landscape-photos

江西三清山 -

神仙彼岸 - 普達措 -

女兒國瀘沽湖 -

漫步重慶,尋一場陪都新夢 -

【中國西部】絕美景點不藏私:給攝影愛好者的天堂旅行路線! -

一次東北之旅,你能看到怎樣的「滿洲」? -

Native white people in China -[..]1%94%E4%BB%80%E5%BA%AB%E7%88%BE%E5%B9%B2

喀什位處古絲綢之路南北兩道交會點,在2,100餘年前便是中國與西方經濟、文化交流的重要門戶,商貿往來繁盛一時。 -

即將消失的全球最大藏學院——色達 -


(google search) (amazon search)

Wed Dec 06 14:39:32 HKT 2017 From /weblog/software_engineering/team


Nice story and nice photo, really a master skill to drive the team to have same vision -

Team Decisions: Consensus versus Consent, closely related to team vision establishing -

(google search) (amazon search)

Mon Dec 04 16:35:42 HKT 2017 From /weblog/entertainment


(google search) (amazon search)

Sun Dec 03 00:34:58 HKT 2017 From /weblog/computer+science

data structure

Comparing difference set implementation -[..]2/29/ultimate-sets-and-maps-for-java-p1/[..]-about-tree-data-structures-bceacb85490c[..]a-little-help-from-dijkstra-613149fbdc8e

(google search) (amazon search)

Sun Nov 26 19:28:02 HKT 2017 From /weblog/ai


What AI can done -[..]om/a-tour-of-machine-learning-algorithms

How Quora do machine learning -[..]/machine-learning-quora-xavier-amatriain

And NLP -[..]on-Quora-Over-Time-through-Question-Text[..]borative-filtering-for-recommend-systems[..]mendation-system-algorithms-ba67f39ac9a3

Spotify’s Discover Weekly: How machine learning finds your new music -[..]arning-finds-your-new-music-19a41ab76efe

Artificial Intelligence, foundations of computational agents -
Deep Learning, An MIT Press book in preparation -[..]com/learning-ai-resources-links-courses/

机器学习:现在与未来 -

网站文章如何能自动判定是抄袭?一种算法和实践架构剖析 -[..]rticle-utomatically-determine-plagiarism

neural network -

Users-AI-application-cases-enter -[..]2016/12/Users-AI-application-cases-enter

Some more discussion of AlphaGO -

How self driving car work -[..]chnology/how-self-driving-cars-work.html

人工智慧 Libratus 是如何擊敗德州撲克高手的? -

Good video tutorial from facebook -[..]8519962/artificial-intelligence-revealed

MindMeld’s Guide to Building Conversational Apps -

Time Series Anomaly Detection Algorithms, The current state of anomaly detection techniques in plain language -[..]nomaly-detection-algorithms-1cef5519aef2

Data science simplified: principles and process -[..]fied-principles-and-process-b06304d63308

从模型选择到超参调整,六步教你如何为机器学习项目选择算法 -[..]1f7c33eb4703bd74762a13f6bb7a82cb5af5f#rd[..]/08/reinforcement-learning-overview.html

Difference kind of neural network -[..]how-to-read-all-kinds-of-neural-networks

From regression to neural network -

(google search) (amazon search)

Sun Nov 26 10:35:12 HKT 2017 From /weblog/learning


A prioritized list of desired traits:

Critical thinking
Business knowledge
Technical knowledge

My only suspect is Technical knowledge is lower than Business knowledge, what will you think about this? -

Difference type of employee -[..]onate_users/2007/03/is_your_app_an_.html

The Power of Introverts: A Manifesto for Quiet Brilliance -[..]fm?id=the-power-of-introverts&print=true[..]How-to-Succeed-as-an-Introvert/ba-p/1522

Honesty -[..]elf-and-starting-from-where-you-are.html

23 Signs You’re Emotionally Intelligent & Destined for Success:

The ability to listen and to speak to the “human needs” of coworkers and customers and make them feel understood and respected
Ability to build relationships and connect with others on a deep level
Good conversation skills
The ability to propose solutions to problems, not just talk about problems
Meaningfully contribute to brainstorming
Ability to write well
Problem-solving skills
Being a team player
Being likeable
Strong work ethic
Optimism/positive attitude
Good communication skills
Storytelling abilities for presentations
Time management abilities
Being good at “reading” people
Exercise tact when delivering a message[..]onally-intelligent-destined-for-success/

What Makes Good Traders Great Entrepreneurs

* An intense drive to succeed;
* The ability to adapt to changing circumstances;
* Decisiveness
* Energy
* Perseverance and determination
* Risk tolerance
* Strong self-confidence[..]14/03/what-makes-good-traders-great.html

What is professional -

How to change your character: 索托說:“你應該從改變行為做起,接下來,如果你能長期保持這種新行為,這種行為就會被鎖定下來。 -

If I say just trust me and I’m wrong, I’m untrustworthy. If I say here’s my work and it’s wrong, I’m honest, human, and serving scientific progress. -

I Used To Be Shy. This Is How I Became Confident -[..]s-is-how-i-became-confident-f0b1d0ab5e29

Confidence is, in fact, a product of repetition … but not a product of success — it’s a product of failure. -

Everyone is given the exact fuel they need to succeed. But few use it. -[..]ess-you-need-to-become-more-6d0781b464c3

You Seek Money and Titles, Not Experience and Transformation -[..]e-will-remain-in-mediocrity-6c7e24c48d12

堅韌意志的秘密 -

(google search) (amazon search)

Sun Nov 26 10:33:43 HKT 2017 From /weblog/learning


Following the curiosity -[..]chives/how-i-learn-1-follow-curiousness/

Creativity is often about 'Synthesis' -[..]9/12/what-avatar-can-teach-us-about.html

How to improve creativitiy?

最成功的人,多少都帶點率性,都忠於自己。不是嗎?天天做著不喜歡的事,又怎能出類拔萃?有 Passion,自然就投入,就有幹勁。[..]%AD%E5%8A%9B%E7%9A%84%E4%BA%BA%E6%89%8D/


Too much structured knowledge hurts creativity, shows study -[..]s-of-highly-creative-people-9e30d0bd6782

如何培養創造力?達·芬奇給世人留下這三條秘訣 -

(google search) (amazon search)

Fri Nov 24 00:23:49 HKT 2017 From /weblog/ai


(google search) (amazon search)

Thu Nov 23 23:16:07 HKT 2017 From /weblog/science


Now the richest man of China is the scientist who research on solar cell

Biodiesel -

菠菜發電 -[..]h?q=%E8%8F%A0%E8%8F%9C%E7%99%BC%E9%9B%BB

Nuclear battery -

如何開采頁岩油 -

關于可再生能源的六個謬誤 -

Solar plant -

香港工廠如何將地溝油變廢為寶 -

Energy facts -[..]-energy-that-will-surprise-you/?view=all

About gas and oil -[..]y-didnt-know-about-gas-and-oil/?view=all

petroleum -

Transparent solar technology could provide 40% of US power if deployed across all glass surfaces -[..]ology/transparent-solar-us-poewr-0432432

electricity hum -[..]ature-post/why-electricity-hum-07112017/

How quick charge work -

(google search) (amazon search)

Wed Nov 22 00:28:10 HKT 2017 From /weblog/design


Having functional program in java?

Functional programming in old java, with eclipse template -[..]functional-programming-with-map-and.html

Functional Programming For The Rest of Us -

collection-pipeline -

Make code composable -[..]ical-functional-programming-6d7932abc58b

(google search) (amazon search)

Sat Nov 18 16:29:46 HKT 2017 From /weblog/java/performance


Will you get any performance improvement if you manage memory yourself? -[..]ne-is-faster-java-heap-or-native-memory/

More heap, GC will get slower -[..]ing-heap-size-beware-of-the-cobra-effect

Collection of tools to analysis GC activities -

Another presentation of performance hint for hotspot or memory -

Show how to enable and analyze the verbose:gc out data -[..]3/01/java-verbose-gc-tutorial-video.html

Discussion and comparison of difference GC at Java 1.7 -[..]7/java-garbage-collection-distilled.html . And here is the detail experiment among those difference GC, look like G1 is quite promising -[..]ng-and-benchmarking-java-7s-garbage.html

Memory is not allocate to single block, thus even you allocate enough memory in term of size, it may not enough to held individual object -

Introduction to metaspace -[..]optimising-memory-consumption-first.html

Some comments about System.gc() -[..]om/2015/12/why-i-dont-like-systemgc.html[..]ng-your-java-garbage-collection-overhead

Logging stop-the-world pauses in JVM -[..]log/logging-stop-the-world-pauses-in-jvm

Why we should put difference app in same VM -[..]0/generational-disparity-in-garbage.html

Atlassian GC tuning guide -[..]ollection-gc-tuning-guide-461504616.html

Using jemalloc to get to the bottom of a memory leak -[..]c-to-get-to-the-bottom-of-a-memory-leak/

Troubleshooting-Java-Memory-Issues -

Shenandoah Garbage Collector look good -[..]emory-usage-right-garbage-collector.html

(google search) (amazon search)