RSS feed [root] /design /weblog



title search:


Sun Sep 10 16:25:08 HKT 2017


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

Sat Mar 02 17:01:24 HKT 2013 From /weblog/design

code metric

Contain resource of measurable code metric information -[..]20/code-quality-for-software-architects/

Meaningful Metrics -[..]ions/115839/how-clean-should-new-code-be

Guidelines for a more appropriate use of metrics

Explicitly link metrics to goals
Favor tracking trends over absolute numbers
Use shorter tracking periods
Change metrics when they stop driving change

(google search) (amazon search)

Thu Feb 14 12:33:33 HKT 2013 From /weblog/design/pattern


How to get ride of it -

Trying to make singleton testable -

Why singleton? Some time may be just create the object once at the beginning is fine -[..]ticleS.UncleBob.SingletonVsJustCreateOne

And a good article of telling why don't use singleton -[..]works/webservices/library/co-single.html

About how to get it right in Java -

(google search) (amazon search)

Sun Feb 03 11:10:31 HKT 2013 From /weblog/design/interview

Jim Showalter

Principal engineer at Intuit -[..]im-showalter-of-intuit.html&site=jw_core

(google search) (amazon search)

Tue Jan 29 10:35:26 HKT 2013 From /weblog/design

High level software design discussion

A nice table:
Do Don't
1. Focus on interfaces. 2. Be worried about the implementation.
3. Mention semantic contract using interfaces. 4. Let subtypes break this semantic contract of their parent types.
5. Service decoupling using interfaces. 6. Be coupled with specific concrete implementation.
7. Family extension using interfaces. 8. Break the family relationship using concrete implementation.
9. Establish a family rule by abstract classes. 10. Impose your own rule through concrete classes.
11. Let interfaces answer all "what" about the system. 12. Forget to mention "how" are you answering all "what" from interfaces.
Also a good introduction of Strategy pattern[..]/03/28/testing-java-object-oriented.html How to determine the levels of abstraction -[..]w-to-determine-the-levels-of-abstraction Simple and clear, good design -> Correct, clear, easy to change -[..]rrectness-clarity-and-changeability.html
(google search) (amazon search)

Mon Jan 28 21:31:57 HKT 2013 From /weblog/design


List of Turing Award Lecture -

classic-computer-science-text -[..]0/classic-computer-science-text-and.html

How emacs is beautiful -

(google search) (amazon search)

Mon Jan 21 17:07:23 HKT 2013 From /weblog/design


Agile Models Distilled: Potential Artifacts for Agile Modeling -

Difference between Association, Composition, Aggregation, Dependency, Abstraction, Realization, Generalization -[..]1/quick-summary-object-associations.html

(google search) (amazon search)

Sun Jan 20 01:35:15 HKT 2013 From /weblog/design


"Bad programmers worry about the code. Good programmers worry about data structures and their relationships." -[..]uote-about-good-programmer/163187#163187

Compare between schema and schema=less ( like key value mapping ) data -

(google search) (amazon search)

Tue Jan 01 10:28:13 HKT 2013 From /weblog/design


Quotations on simplicity in software design -

2 hard things, caching and naming -

(google search) (amazon search)

Tue Dec 18 00:49:34 HKT 2012 From /weblog/design/interview

Alan Kay

Not interview, but a lot of useful link -[..]0_h&elq=c2568ee4975f4e69b244d72a9a8e2487

(google search) (amazon search)

Tue Oct 02 20:34:57 HKT 2012 From /weblog/design/distribute


Google spanner[..]ogle-spanners?e57078b0?317bb970?b3b99980

(google search) (amazon search)

Mon Oct 01 23:49:18 HKT 2012 From /weblog/design


Examples of proper and inproper constructor -[..]s-guide/flaw-constructor-does-real-work/

(google search) (amazon search)

Wed Sep 26 21:45:25 HKT 2012 From /weblog/design


Polyglot Persistence, choosing difference approach for storage -

How leveldb store data? SSTable ( Sorted String Table ) -[..]able-and-log-structured-storage-leveldb/

(google search) (amazon search)

Sat Jul 28 10:24:11 HKT 2012 From /weblog/design

object oriented

This article show some problems of abusing object, a good reading -

Why extends in evil -[..]avaworld/jw-08-2003/jw-0801-toolbox.html

Fundamental fault of procedure programming -

OO suck?!

(google search) (amazon search)

Sun Jun 10 22:54:15 HKT 2012 From /weblog/design/examples


The design of LLVM -[..]9_h&elq=d513b4b897824dcc8fef763eaf9bc12a

(google search) (amazon search)

Fri Jun 08 01:22:23 HKT 2012 From /weblog/design

state machine[..]developers-never-use-state-machines.html

(google search) (amazon search)

Fri Jun 08 01:21:55 HKT 2012 From /weblog/design


Is it better to wrap all node with methods, or use regular expression to manipulate? I think we should use best tools case by case. -

Matching Wildcards: An Algorithm -

Generic Text Comparison Tool with LCS Approach -[..]neric-text-comparison-tool-with-lcs.html

(google search) (amazon search)

Sun May 20 16:51:05 HKT 2012 From /weblog/design


Java Immutability -[..]_id=50161&asrc=EM_NLN_4133229&uid=703565

"A similar pattern is that with objects that you need to open before usage and make sure that they are closed on usage completion."[..]2/initialize-pattern-and-open-close.html

Discussion of various approach that implement immutable class -

How to create immutable class, and why it is better? -

Immutable Event -[..]/cqrs-event-sourcing-and-immutable-data/

(google search) (amazon search)

Sun May 13 00:25:08 HKT 2012 From /weblog/design


Contain discuss about if value object should be immutable or it is still ok -

MongoDB architecture -

Why clocksource.h is a nice API -

(google search) (amazon search)

Mon Apr 16 22:38:34 HKT 2012 From /weblog/design/distribute


How facbook manage photo storage -

Promotion letter for oracle coherence, but still a good reading -[..]e-of-high-performance-ecommerce-backend/

(google search) (amazon search)

Sun Mar 25 10:03:05 HKT 2012 From /weblog/design


A nice reference -[..]m/2006/07/what-is-defensive-copying.html

Defensive coding -[..]nsive-programming-being-just-enough.html

(google search) (amazon search)

Thu Mar 01 22:35:45 HKT 2012 From /weblog/design/examples

mailinator compresses

How Mailinator compresses email by 90%, how to analysis the bottleneck and how to find the solution to get good compression ration and also fast to compress -[..]w-mailinator-compresses-email-by-90.html

(google search) (amazon search)

Tue Feb 21 00:02:15 HKT 2012 From /weblog/design

trade off

Discussion of trade off between having modular design which is easy to test difference module independencely , verse have big testable context that able to write test for all module -[..]s/2007/06/11/collateral-effort-revisited

Discussion of trade off between performance and consistent about distributed system -[..],

Discussion about good thing and bad thing for blocking method -[..]s-blocking-methods-in-java-and.html#more

(google search) (amazon search)

Wed Dec 21 21:30:43 HKT 2011 From /weblog/design


Compare related words -[..]011/12/11/reflections-for-the-perplexed/

(google search) (amazon search)

Wed Oct 19 21:04:52 HKT 2011 From /weblog/design/interview


Discuss about C and C++ -[..]int?articleId=184408272&siteSectionName=

Discuss about history of C, UNIX and GO -[..]rint?articleId=229502480&siteSectionName

(google search) (amazon search)

Sun Oct 16 23:52:23 HKT 2011 From /weblog/design/interview

Continuous Delivery

Overview of CD, and some Q & A -

(google search) (amazon search)