download zip of files only
Sun Aug 25 13:45:48 GMT 2024
From /weblog/software_engineering/team
Servant Leadership - http://www.inc.com[..]t-be-my-style-of-servant-leadership.html , similarly, what a leader should do is helping other to do better, not to be the best of the team - http://blog.vincentx.info[..]/03/onthings-manga-taught-me-leadership/ http://www.infoq.com[..]what-do-you-look-for-in-a-servant-leader Mentorship - http://www.javacodegeeks.com[..]entorship-in-software-craftsmanship.html Keep focus, or lose - http://googlesystem.blogspot.com[..]0/how-steve-jobs-influenced-googles.html The anti-pattern and suggestion about new joiner - http://5whys.com[..]-you-will-face-as-a-software-team-l.html Believe me, the objective was not to make decisions, but to create the right environment so that the right decision would be made. http://tech.groups.yahoo.com/group/leandevelopment/message/1952 A nice set of questions to ask for a leader - http://jchyip.blogspot.com[..]3/questions-on-influence-and-growth.html In short, don't put your shoes on others' foot - http://www.inc.com[..]earned-in-the-army_Printer_Friendly.html 4 types of leadership style, well, I think he model leadership a little too simple - http://softwarecreation.org[..]s-the-best-leader-for-the-software-team/ Your experts are spending all their time mentoring novices. Therefore: Put one expert in charge of all the novices, let the others develop the system. - http://gigix.agilechina.net[..]010/2/25/organizational-pattern-day-care What is the key Characteristics of great team - http://www.infoq.com/news/2011/01/characteristics-agile-org This is very insightful obversation, in many time we look into something work in short term but not really solve the problem, a discussion about why so many people like micromanagement even if they know it is bad - http://www.thoughtclusters.com[..]m/2011/01/programmers-and-micromanaging/ http://www.adoptionofagile.com[..]best-thing-you-can-do-for-your-team.html <- is provide required information, probably more transparent. Don't make me think... but you have no business not allowing me to think if I choose to. - http://jchyip.blogspot.com[..]allow-me-to-think-just-dont-make-me.html How To Lead Clever People, actually I am double about this, let's see - http://business.in.com/printcontent/28632 http://business.in.com/media/images/2011/Sep/img_56852_wise.jpg How to grow the leadership - http://www.jrothman.com[..]og/mpd/2012/11/nurturing-leadership.html 他在公司的名言是「When you give, you get」。他在上海成立科研中心,大方讓上汽參與,他認為各懷鬼貽的氣氛不可能做出成績。合資公司理論上是獨立個體,合資公司員工應把合資公司利益放到最前,而不是自己原屬公司的利益,但很少人做得到。慢慢下來,上汽也逐漸對墨菲產生尊重。 在美國和上海工作過的GM員工,指上海GM的工作氣氛跟美國截然不同,甚至認為上海GM形成一套自己的文化,這套文化建基於信任。墨菲跟員工打成一片,工餘在家中安排活動,中美關係罕有地融洽。 http://www.thehousenews.com/finance/由傲慢製造的優秀企業/ 10. 永遠記得,做出決定前要先綜觀全局。 9. 否定別人跟切換開關一樣容易。但你最好拼死抵抗這種衝動,因為你也曾經做過蠢事。你做過爛決定,然後學習、成長,別人也一樣。 8. 掃地、擦桌、關燈。哪裡有漏洞要補就去補——即便那很瑣碎、沒人會注意。你必須做這些事去造福你的產品、你的公司,以及所有你們團隊共同打造的,令眾人驚艷、神奇的事物。 7. 你無法做所有的事。閉上眼睛,向後仰倒,學會信任。 6. 顯然有某種更為有效的方法能處理你正在做的事。是什麼呢?在每天回家的路上反覆思考吧。 5. 找出總是在依賴你的人,想想要怎麼做才能協助他們,讓他們自力更生。或許你覺得當個壟斷市場的鮭魚供應商很重要,但如果小鎮的所有人都學會捕魚,便能將你解放出來去做別的事。像是學習種小麥,或是如何馴服那些可愛的小狼。 4. 別說任何對當下討論沒有貢獻的話。你的聲音並非悠揚到絕對必須被聽見。 3. 做得出最好的決定比不上處在得以確保做出更多最佳決定的流程。 2. 就像你經常發表意見那樣,多說感謝和鼓勵的話語。 1. 最重要的是:永遠要掃除障礙物。那怕只是玩玩手指、看看窗外的雲,也別讓你那愚蠢、幼稚的自我阻礙團隊前進的腳步。 http://www.inside.com.tw/2013/02/04/a-manager-s-maifesto http://joeduffyblog.com[..]oftware-leadership-6-read-every-checkin/ http://www.engineeringandcareering.co.uk[..]o.uk/2014/10/leading-and-delegating.html https://www.thekua.com[..]op-5-mistakes-for-first-time-tech-leads/ http://www.yegor256.com/2015/01/08/morning-standup-meetings.html How to lead with diplomatic - http://www.crucialskills.com[..]how-to-be-both-assertive-and-diplomatic/ Dr. Nico Rose cites research that finds that happy people tend to be more effective leaders. - http://www.forbes.com[..]-your-money-managing-your-life-part-one/ https://www.infoq.com/news/2017/02/humility-positive-trait https://medium.com[..]ge-manager-vs-great-manager-cf8a2e30907d https://simpleprogrammer.com/coaching-programmers/ Don't pretend - https://medium.com[..]ad-my-five-biggest-mistakes-fd7f4a2f1808 https://medium.com[..]les-of-effective-leadership-d2f9d28a49fb Being Glue - https://noidea.dog/glue 7 ways to delegate better and unleash your team’s full potential - https://www.fastcompany.com[..]er-and-unleash-your-teams-full-potential How to lead a team of senior engineers - https://blog.practicalengineering.management[..]-a-team-of-senior-engineers-8e8d69576d1e 技术管理者如何“好好说人话” - https://www.infoq.cn/article/yYylg1XRI0ZWdqh5AYYH Rather than starting your criticism with a compliment, start by saying that you are going to dig into ways that your employee can improve their performance and that you’re giving this direct feedback because you know that with the right guidance they can improve. - https://www.fastcompany.com[..]ve-criticism-according-to-a-psychologist
(google search)
(amazon search)
Tue Apr 30 13:16:24 GMT 2024
From /weblog/software_engineering
Sometime dailywtf share not only funny stories, this is also a meaningful one, I really not sure if it really silly to put so much effort to make old cobol work - http://thedailywtf.com/forums/thread/97990.aspx Here is a sample of how to put a legacy swing application under automated test - http://www-128.ibm.com[..]operworks/java/library/j-legacytest.html Experience of porting COBOL code to Java - http://blog.objectmentor.com[..]7/05/16/pack-rats-are-running-the-asylum Martin Fowler suggestion about working on legacy system: replace it bit by bit - http://martinfowler.com/bliki/StranglerApplication.html A lot of managers and developers I know believe http://blog.objectmentor.com[..]2/13/business-software-is-messy-and-mgly , how about you? I think every software have room to improve, but if we work hard enough to make I, and other, life easier, thing will get cleaner and cleaner Notes for studying "Working with Legacy code" - http://www.markhneedham.com/blog/category/book-club/ Tip for handling legacy software, I think the most important one is focus on delivering immediate value - http://www.infoq.com[..]ips-to-developers-starting-on-large-apps Uncovering the Seams in Mainframes for Incremental Modernisation - https://martinfowler.com[..]ReplicationToEnableNewProductDevelopment
(google search)
(amazon search)
Fri Mar 15 00:21:16 GMT 2024
From /weblog/software_engineering/team
Building trust for team - http://cocreatr.typepad.com[..]nity-of-practice-and-trust-building.html One nice article about teamwork: Directing (hi directive + lo supportive, for "enthusiastic beginners") Supporting (hi directive + hi supportive, for "disillusioned learners") Coaching (lo directive + hi supportive, for "reluctant contributors") Delegating (lo directive + lo supportive, for "peak performers") http://www.cmcrossroads.com[..]bbthreads/showflat.php?Cat=&Number=64809 Is it a people problem or process problem - http://blog.nayima.be[..]01/21/people-problem-or-process-problem/ importance of teamwork - http://www.butunclebob.com[..]leS.MichaelFeathers.ProgrammingOnYourOwn 5 Dysfunctions of a Team - http://www.anticlue.net/archives/000279.htm A Leaner Start: Reducing Team Setup Times - http://www.infoq.com/articles/pat-kua-onboarding-new , I think article "letting-go" is really insightful - http://www.thekua.com[..]007/09/24/onboarding-strategy-letting-go A good explanation of what is courage, and the result of didn't have courage. It also mention a bit of how to bulit courage within the team, but not much about it - http://www.xprogramming.com/xpmag/NotXP.htm A potential issue of focus too much on people, rely on few heros - http://jchyip.blogspot.com[..]12/people-over-process-misses-point.html Our agile process requires people to spend the effort to listen and talk to each other, working closely. You have to be a people person to like it. It doesn't suit sociopaths. Accidently hiring a sociopath is going to make XP impossible. Trust me, I know. To me this is XP's fundamental weakness. http://jchyip.blogspot.com[..]12/extreme-programmings-fundamental.html What important is team but not idea - http://www.codinghorror.com[..]g/2010/01/cultivate-teams-not-ideas.html http://www.infoq.com/news/2011/11/enable-high-performance-teams http://www.infoq.com/presentations/Co-Making-Great-Products A Measure of Your Team’s Health: How You Treat Your “Idiot” - http://quickbase.intuit.com[..]r-teams-health-how-you-treat-your-idiot/ http://www.inside.com.tw[..]ur-teams-health-how-you-treat-your-idiot https://www.infoq.com/news/2018/05/culture-safety-ei-teams How to Create a Great Team Culture (and Why It Matters) - https://queue.acm.org/detail.cfm?ref=rss&id=3323993 https://noidea.dog/glue Psychological Safety - https://www.buildsoftwarebetter.org[..]tally-healthy-environment-for-developers https://hbr.org[..]chological-safety-heres-how-to-create-it ‘As long as everyone got a chance to talk, the team did well. But if only one person or a small group spoke all the time, the collective intelligence declined.’ - https://www.nytimes.com[..]its-quest-to-build-the-perfect-team.html The secret ingredient to successful team building is not what you think - https://www.fastcompany.com[..]sful-team-building-is-not-what-you-think
(google search)
(amazon search)
Sun Feb 25 12:35:18 GMT 2024
From /weblog/software_engineering/team
Stop Demotivating Me! - http://www.cio.com/article/print/123406 The key takeaways are a number of tools that you can use to try to help yourself or help others follow through on their goals. One key takeaway is that whenever you want to help somebody follow through on a goal, one thing you should do is actually prompt them to think about exactly when and where and how they will accomplish that goal. - http://knowledge.wharton.upenn.edu[..]at-make-a-big-impact-on-achieving-goals/ Quiet Quitting & Strategy, The Humanity Imperative - https://rogermartin.medium.com[..]com/quiet-quitting-strategy-1fe6892c975b Employees said they’d work harder if recognized. These are the types of recognition they want - https://www.fastcompany.com[..]loyees-work-harder-recognition-they-want
(google search)
(amazon search)
Sun Nov 05 12:32:47 GMT 2023
From /weblog/software_engineering/testing
Getting The Most Test Coverage With The Least Test Code - http://parlezuml.com/blog/?postid=482 , Interesting question to ask, but I don't buy the arguement personally, because Most Test Coverage is not related to Most Effective Test in most case mutation-testing, injecting wrong code to provide unit test is working - http://blog.jdriven.com/2014/03/joy-coding-mutation-testing-java/ The Great Code Coverage Holy Wars of the 21st Century - https://medium.com[..]ly-wars-of-the-21st-century-6fb11e7acce4
(google search)
(amazon search)
Thu Nov 03 23:55:18 GMT 2022
From /weblog/software_engineering/team
Cool diagram showing what slow us down - http://www.targetprocess.com[..]m/blog/2012/01/faster-faster-faster.html Usually, not a good idea to grow a team too big too soon - http://martinfowler.com/bliki/PrematureRampUp.html Taken from Interview of Charles Simonyi ( http://www.shamit.org/charles_simonyi.htm ) , both the interview and the discussion are nice to read: http://discuss.joelonsoftware.com/default.asp?joel.3.341396 , However, I will think if team work effective, 1+1 > 2 What we should really care about is effectiveness and not efficiency. and effectiveness is often inefficient - http://www.markhneedham.com[..]our-obsession-with-efficiency-dan-north/ Handling emergencies or crisis situations Handling work stress Solving problems creatively Dealing with uncertain and unpredictable work situations Learning work tasks, technologies, and procedures Demonstrating interpersonal adaptability Demonstrating cultural adaptability Demonstrating physical-oriented adaptability - http://jchyip.blogspot.com[..]2010/12/8-behavioural-dimensions-of.html http://www.funretrospectives.com/anchors-and-engine/ <- a simple way to check what make team move faster, and things that slow team down. http://www.targetprocess.com[..]icles/speed-in-software-development.html The emergency team, in our understanding, was supposed to work as a point of entry for new developers, so they could know the codebase better. However, we didn’t get into account that newcomers needed to check on some things with the “old” developers. That hindered the work, and we eventually switched back to ~1 month rotation principle. - http://www.targetprocess.com[..]/how-we-handle-bug-fixes-and-rework.html Your team’s strength is not a function of the talent of individual members. It’s a function of their collaboration, tenacity, and mutual respect. - https://medium.freecodecamp.org[..]-best-decision-we-ever-made-4c0a99728fde https://ronjeffries.com/articles/019-01ff/kate-red-threads/ http://testobsessed.com/2020/02/momentum-urgency How To Update Your Status During Standup Like a Senior Engineer - https://betterprogramming.pub[..]d-up-like-a-senior-engineer-f05f3c7f91e4
(google search)
(amazon search)
Sun May 01 13:32:30 GMT 2022
From /weblog/software_engineering
Summary: In this column, David Gelperin presents a problem familiar to many of us?what is the best way to record requirements? Given the limitations of static templates, how can we best manage high-volume, multidimentional requirements information? Read on and then share your experiences. - http://www.stickyminds.com[..]bjectId=5936&tth=DYN&tt=siteemail&iDyn=2 Why specs matter - Most developers are morons, and the rest are assholes. I have at various times counted myself in both groups, so I can say this with the utmost confidence. - http://diveintomark.org/archives/2004/08/16/specs Explain why we should share the vision with the team - http://www.goodproductmanager.com[..]6/sell-your-requirements-to-development/ An OK article about scope changing management - http://www.projectperfect.com.au/info_scope_creep_mgmt.php Using mind maps and story tree to manage requirement - http://epistemologic.com[..]-user-stories-mind-maps-and-story-trees/ Interesting software for requirement management - http://www.technobuff.net[..]app/product/showProduct.do?name=jfeature Another angle to view requirement - not to blame, not to prevent responsible, just try to talk and solve problem is better than document - http://www.agileproductdesign.com[..]com/blog/requirements_considered_harmful Template and sample for spec. - http://searchsoftwarequality.techtarget.com[..]et109stru&asrc=EM_NLN_2350433&uid=703565 If you want to be a good product manager, understand unmet needs and use that insight to drive requirements. - http://www.goodproductmanager.com[..]/2008/05/06/stop-gathering-requirements/ Compare user story and use case - http://fragmental.tw[..]ser-stories-are-just-schedulable-change/ INVEST to user story - http://www.markhneedham.com[..]24/distributed-agile-stories-negotiable/ What you want to do, and what other want you to do - http://blog.vincentx.info[..]2/03/things-manga-taught-me-requirement/ 1. How will this requirement or decision impact the user? 2. Are we overlooking any stakeholders? https://thoughtworks.medium.com[..]asking-ourselves-and-others-abfa837db061
(google search)
(amazon search)
Thu Dec 09 23:31:12 GMT 2021
From /weblog/software_engineering/testing
Consider the risk of not being tested - http://googletesting.blogspot.com.au[..]sting-on-toilet-risk-driven-testing.html Fidelity, Resilience, Precision - http://googletesting.blogspot.com.au[..]testing-on-toilet-effective-testing.html Attributes that unit test should have: Functionality, Accuracy, Instant, Locator - http://www.gilzilberfeld.com/2014/04/what-is-unit-test.html Isolation - http://agileinaflash.blogspot.com[..]/2012/04/is-your-unit-test-isolated.html Tips of keeping unit tests running fast - http://www.java-tv.com/2012/03/06/speeding-up-java-test-code/ Testing Patterns - http://c2.com/cgi/wiki?TestingPatterns Continuously to break thing so that we know our system is solid - http://www.codinghorror.com[..]11/04/working-with-the-chaos-monkey.html First rule - http://fishbowl.pastiche.org[..]08/10/01/nothing_is_too_trivial_to_test/ Test first/last is not important? Unit test either? What do you think? http://beust.com/weblog/archives/000477.html * The name of the test should describe the requirement of the code * There should be at least one test for each requirement of the code. Each possible path through of the code is a different requirement# * Test the goal of the code, not the implementation http://xprogramming.com/xpmag/testFirstGuidelines.htm http://www.theserverside.com[..]AppQuality&asrc=EM_NLN_761453&uid=703565 http://www.coopercode.net[..]og/2007/08/how-not-to-run-beta-test.html The teaser: Fast, Isolated, Repeatable, Self-validating, and Timely. - http://blog.objectmentor.com[..]es/2007/08/02/not-a-task-but-an-approach http://blog.objectmentor.com/articles/2007/08/02/which-came-first Corner cases - http://testobsessed.com[..]s/2007/02/testheuristicscheatsheetv1.pdf One of the targets of TDD coding - http://haacked.com[..]e-code-is-about-managing-complexity.aspx Design for unit test - http://www.theserverside.com[..]es/content/DesigntoUnitTest/article.html http://openmymind.net/A-Decade-Of-Unit-Testing/ Push and Pull approach - http://www.richarddurnall.com/?p=10 http://www.richarddurnall.com/?p=15 http://www.richarddurnall.com/?p=31 When not to test - http://www.junitmax.com/blog/?p=187 http://www.infoq.com/news/2009/06/love_agile_testing Test the story, rather than the implementation - http://www.davesquared.net[..]ving-to-scenario-based-unit-testing.html Test the configuration - http://searchsoftwarequality.techtarget.com[..]TSS10ctqa&asrc=EM_NLN_8746433&uid=703565 Feel the deep synergy of design and test constraint - http://michaelfeathers.typepad.com[..]athers_blog/2007/09/the-deep-synerg.html Another set of principles for automated testing - http://a-sisyphean-task.blogspot.com[..]of-principles-for-automated-testing.html Priority for tester - http://googletesting.blogspot.com[..]t.com/2011/01/new-years-resolutions.html A lot of links - http://it-techexperts.com/tutorials/tutorials.asp http://testingspot.net/ http://www.exampler.com[..]-links-biased-toward-exploratory-testing http://www.makinggoodsoftware.com[..]nit-tests-5-principles-for-unit-testing/ Some information and suggestion about setting up a local integrated testing environment - http://googletesting.blogspot.com.au[..]pot.com.au/2012/10/hermetic-servers.html Virtual Panel: Code-to-Test Ratios, TDD and BDD - http://www.infoq.com/articles/virtual-panel-tdd-bdd A test is complete when its body contains all of the information you need to understand it, and concise when it doesn't contain any other distracting information. - http://googletesting.blogspot.com.au[..]ting-on-toilet-what-makes-good-test.html Discussion about naming the tests - http://www.codeaffine.com[..]14/03/17/getting-junit-test-names-right/ http://www.petrikainulainen.net[..]ting/writing-clean-tests-naming-matters/ http://googletesting.blogspot.com.au[..]esting-on-toilet-test-behaviors-not.html <- Test behaviour, not method. This will make your tests more resilient since adding new behaviors is unlikely to break the existing tests, and clearer since each test contains code to exercise only one behavior. Tips on having better assertion or cleaner test - http://blog.codeleak.pl[..]ur-test-code-with-custom-assertions.html http://blog.jooq.org[..]-friday-most-internal-dsls-are-outdated/ http://www.petrikainulainen.net[..]ertions-with-a-domain-specific-language/ Good to prevent setup and tearDown? http://www.yegor256.com/2015/05/25/unit-test-scaffolding.html #1 Treat Test Code as Production Code #2 Use Test Patterns to achieve great readability #3 Avoid Unreliable Tests #4 Test at The Appropriate Level #5 Do Use Test Doubles http://www.thoughtworks.com[..]insights/blog/write-better-tests-5-steps http://examples.javacodegeeks.com[..]om/core-java/junit/junit-best-practices/ Document ‘Why’, specify ‘What’, automate ‘How’ - https://gojko.net[..]/agile/2016/05/24/large-test-suites.html Good typing to prevent un-necessary test - https://spin.atomicobject.com[..]com/2014/12/09/typed-language-tdd-part1/ Unit Tests Are FIRST: Fast, Isolated, Repeatable, Self-Verifying, and Timely - https://medium.com[..]e-self-verifying-and-timely-a83e8070698e
(google search)
(amazon search)
Fri Jul 09 06:03:29 GMT 2021
From /weblog/software_engineering/testing
If you write the test after you've written the code, it's much more likely that you'll write the tests that will pass what you've written. That's just how our brains work. If you determine the criteria for whether a decision is good after you've already made the decision, it's much more likely that you'll create criteria that justifies the decision that was just made. That's just how our brains work. Determine how to assess whether something is good before you implement it and/or before you make a decision. Otherwise, you will tend to be emotionally attached to what you just did, what you just decided. http://jchyip.blogspot.com/2011/09/criteria-first.html My Top 5 ways to reproduce a "Hard to Reproduce" Bug! - http://software-testing-zone.blogspot.com[..]/my-top-5-ways-to-reproduce-hard-to.html Common TDD issue and suggested solution - http://www.agileadvisor.com[..]utomated-test-problems-address-root.html http://biblio.gdinwiddie.com[..]om/biblio/StudiesOfTestDrivenDevelopment http://www.notesfromatooluser.com[..]ptions-with-test-driven-development.html http://blog.goyello.com/2011/08/29/what-does-tdd-mean/ https://juristr.com[..]014/05/told-you-that-testing-is-a-waste/ https://www.thoughtworks.com[..]-best-thing-has-happened-software-design https://itnext.io[..]evelopment-is-dumb-fight-me-a38b3033280c Does this mean I think you should skip TDD for programs you’re going to run once and then throw them away? Well, I’m closer to OK with that than I am to the other cases here, but I often spend enough time editing and rerunning to make me think there was probably a central bit of the program that would have benefited from some TDD. https://ronjeffries.com/articles/020-01ff/when-not-to-tdd/ What TDD is -- and isn't -- like. - https://ronjeffries.com/articles/020-01ff/what-tdd-is-like/
(google search)
(amazon search)
Mon Feb 15 13:23:37 GMT 2021
From /weblog/software_engineering/SCM
Why merge often - http://queue.acm.org/detail.cfm?id=1643030 http://www.cmcrossroads.com[..]/cgi-bin/cmwiki/view/CM/BranchYesMergeNo http://paulhammant.com/2013/12/04/what_is_your_branching_model A lot of resource here - http://www.cmcrossroads.com[..]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. http://discuss.joelonsoftware.com[..]arent=16312&ixDiscussGroup=3&cReplies=11 Subversion branching technique and tips - http://binkley.blogspot.com[..]version-best-practices-branching_01.html http://www.dehora.net[..]version_tips_dealing_with_branches.html/ Another discussion - http://www.codinghorror.com/blog/archives/000968.html Branch visualization - http://codicesoftware.blogspot.com[..]07/05/linus-torvalds-on-git-and-scm.html http://www.youtube.com/watch?v=CABIi-Eu2zA One way of manage branching and merging, the summary is, frequency create new branch for pre-merge instead of one time big merge - http://designbygravity.wordpress.com[..]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... http://blogs.open.collab.net/svn/2007/09/what-subversion.html No branch? https://cacm.acm.org[..]-of-code-in-a-single-repository/fulltext http://www.infoq.com[..]s/2017/08/How-Google-build-Web-framework https://martinfowler.com/articles/branching-patterns.html https://codingcraftsman.wordpress.com[..]s.com/2021/01/11/the-linear-git-history/
(google search)
(amazon search)
|