Wed Apr 24 13:23:38 HKT 2013
From
/weblog/software_engineering
Introduction to story point -
http://blog.anandvishwanath.in[..]in/2011/03/questioning-story-points.html Imperative vs Declarative Scenarios in User Stories -
http://benmabey.com[..]clarative-scenarios-in-user-stories.html Turn good story to great
1. Get your story right
2. The unwritten rule of what goes inside
3. Choose your words carefully
4. Use acronyms sparingly
5. Convention over OVER-complication
-
http://jcwong.wordpress.com[..]8/08/turning-stories-from-good-to-great/ Checklist for user story -
http://marjoriepries.blogspot.com.au[..]hecklist-for-effective-user-stories.html See the picture in your backlog. -
http://winnipegagilist.blogspot.ca[..]012/03/how-to-create-user-story-map.html INVEST mnemonic to describe the characteristics of good stories:
Independent: the stories can be delivered in any order
Negotiable: the details of what's in the story are co-created by the programmers and customer during development.
Valuable: the functionality is seen as valuable by the customers or users of the software.
Estimable: the programmers can come up with a reasonable estimate for building the story
Small: stories should be built in a small amount of time, usually a matter of person-days. Certainly you should be able to build several stories within one iteration.
Testable: you should be able to write tests to verify the software for this story works correctly.
http://martinfowler.com/bliki/UserStory.html
(google search)
(amazon search)
Tue Apr 23 23:31:01 HKT 2013
From
/weblog/design/concurrency
Stealing thread -
http://badamczewski.blogspot.com.au/2012/05/work-stealing.html Intel Guide for Developing Multithreaded Applications -
http://software.intel.com[..]or-developing-multithreaded-applications Difference ways to stop a thread -
http://www.ddj.com[..]ept_url=/hpc-high-performance-computing/ Interesting, I am not sure if I agree, but chrome ( which use fork ) are really cool in performance:
There’s another problem with Unix programming in Ruby that I’ll just touch on briefly: Java people and Windows people. They’re going to tell you that fork(2) is bad because they don’t have it on their platform, or it sucks on their platform, or whatever, but it’s cool, you know, because they have native threads, and threads are like, way better anyways.
Fuck that.
Don’t ever let anyone tell you that fork(2) is bad. Thirty years from now, there will still be a fork(2) and a pipe(2) and a exec(2) and smart people will still be using them to solve hard problems reliably and predictably, just like they were thirty years ago.
MRI Ruby people need to accept, like Python (you have seen multiprocessing, yes?), that Unix processes are one of two techniques for achieving reliable concurrency and parallelism in server applications. Threads are out. You can use processes, or async/events, or both processes and async/events, but definitely not threads. Threads are out. http://tomayko.com/writings/unicorn-is-unix 1x1 win M*N -
http://binkley.blogspot.com/2012/01/1-1-beats-n-m.html Best number of threads:
N = number of CPUs
U = target CPU utilization (0 <= U <= 1)
W/C = ration of wait time to cpu time (measured through profiling)
threads = N * U * (1 + W/C) -
http://www.ibm.com/developerworks/library/j-jtp0730.html http://stackoverflow.com[..]ratio-of-java-threads-to-cpus-on-solaris Threads Basics -
http://www.hpl.hp.com/techreports/2009/HPL-2009-259html.html http://www.hpl.hp.com/personal/Hans_Boehm/c++mm/threadsintro.html
(google search)
(amazon search)
Tue Apr 16 11:26:55 HKT 2013
From
/weblog/quote
What is the difference of software architect from software designer? About 30k
http://discuss.joelonsoftware.com/default.asp?design.4.491003 The law of conservation of energy - If there is no work, sleep.
Money is not everything. There's Mastercard & Visa.
One should love animals. They are so tasty.
Save water. Shower with your girlfriend.
Love the neighbor. But don?t get caught.
Behind every successful man, there is a man. And behind every unsuccessful man, there are two.
Every man should marry. After all, happiness is not the only thing in life.
The wise never marry, And when they marry they become otherwise.
Success is a relative term. It brings so many relatives.
Never put off the work till tomorrow what you can put off today.
Love is photogenic. It needs darkness to develop.
Children in backseats cause accidents. Accidents in backseats cause children.
Your future depends on your dreams.? So go to sleep.
There should be a better way to start a day than waking up every morning.
Hard work never killed anybody.? But why take the risk?
Work fascinates me.? I can look at it for hours!
God made relatives; Thank God we can choose our friends.
When two?s company, three?s the result!
A dress is like a barbed fence. It protects the premises without restricting the view.
The more you learn, the more you know, The more you know, the more you forget. The more you forget, the less you know. So why bother to learn.
Edward Abbey "Our culture runs on coffee and gasoline, the first often tasting like the second."
Ashley Montagu "The idea is to die young as late as possible."
Richard Roeper - "Even though we're a week and a half away from Thanksgiving, it's beginning to look a lot like Christmas."
Wendy Liebman - "I've been on so many blind dates, I should get a free dog."
Kin Hubbard - "A good listener is usually thinking about something else."
Joseph Conrad - "Gossip is what no one claims to like, but everybody enjoys."
J. P. Morgan - "A man always has two reasons for doing anything: a good reason and the real reason."
William Feather - "The reward of energy, enterprise and thrift is taxes."
(google search)
(amazon search)
Fri Apr 05 17:31:38 HKT 2013
From
/weblog/design/concurrency
How to write safer concurrency code -
http://www.artima.com/forums/flat.jsp?forum=276&thread=178345 reentrant and thread safe functions -
http://kevinrodrigues.com[..]/31/reentrant-and-thread-safe-functions/ Libraries / toolkits for multicore process -
http://www.ddj.com[..]intableArticle.jhtml?articleID=212900103 Introduction -
http://www.ddj.com[..]QQSNDLRSKHSCJUNN2JVN?articleID=212903586 http://www.ddj.com[..]CQSNDLRSKHSCJUNN2JVN?articleID=213001517 Collections of links -
http://dobbscodetalk.com[..]rallel-Or-Get-Left-Behind.html&Itemid=29 Briefing of difference modeling of threading system -
http://www.ddj.com[..]intableArticle.jhtml?articleID=215900465 http://software.intel.com[..]inners-guide-to-multithreaded-libraries/ http://natishalom.typepad.com[..]haloms_blog/2010/08/concurrency-101.html Saving the Failwhale: The Art of Concurrency (Page last updated December 2012, Added 2012-12-26, Author Dhanji R. Prasanna, Publisher informit). Tips:
1) Contention is unavoidable - some resources are just slower, and you must wait for them. The secrets to good concurrency are 1) ensuring that these slower resources are rarely used, and 2) during such waiting periods, giving the faster tiers other work to do so that they continue to be utilized well.
2) Overuse of synchronization constructs such as locks and mutexes leads to systems that perform poorly under load.
3) ConcurrentHashMap is an efficient thread-safe map while HashMap is not thread-safe.
4) ConcurrentHashMap doesn't do away with locks, it still uses them but it uses more than the single global lock, so that threads gain some measure of concurrency. It uses separate locks for partitions, so that multiple threads writing to the map are likely to access different partitions, using separate locks and therefore process their data simultaneously. This technique is known as lock-striping. Efficient striping uses a number of locks proportional to the number of CPU cores in a system.
5) The asynchronous processing model smooths resource spikes by adding requests to a queue which is serviced by a pool of workers - spikes in requests make the queue grow rather than overloading the workers. (The ExecutorService is essentially a thread pool accompanied by a task queue.)
http://www.informit.com/articles/article.aspx?p=1994789 Discussion of using difference model for concurrency -
http://highscalability.com[..]cks-application-architecture-pros-a.html
(google search)
(amazon search)