The long way through Software Craftsmanship

Self-Study in September 2015

Sep 1, 2015 - 9 minute read - Comments - self-study-aggregationseptember2015read195830-secondalgebraic-data-typealonzo-churchanalogyanalysisandrea-mannaanonymous-functionarm-length-recursionarticleartificial-intelligenceassumptionawsbase-casebeginnerben-whaleybig-datablue-hatbooleanboolean-parameterbootcampbrainbrowserc-plus-plusc-sharpcfa2charlie-amberclassclass-invariantclojureclojurescriptclosurecobolcodycoinductioncomparisonconnor-mendenhallcontext-free-grammarconversioncorecursioncouplingcurryingdariusz-pasciakdata-structuredata-typedesign-by-contractdeveloperdialoguedimitrios-vardoulakisdirect-recursionduck-typingeiffelelevator-testentropyeric-lippertextreme-programmingfeaturefmapformal-language-theoryfrank-rosenblattfreezerfunctorgarbage-collectiongenerative-recursiongerardo-rosselgooglehabithaskellhawk-hosthenry-bakerhigher-order-functionhiringhoare-triplethow-toideaindirect-recursioninductioninformationinstant-gratification-monkeyiterative-functionjason-friedjason-liszkajavajavascript-type-inferencejay-fieldsjeff-atwoodjim-dueyjordan-medlockjudd-keppelkleerlambda-calculuslambda-expressionlanguagelisplog4jloggingloose-couplingmachine-learningmacrostatemapmartin-fowlermartin-saliasmastermarvin-minskymaxwell-boltzmannmedian-agemethod-invariantmicroservicemicrosoft-bobmicrostatemisunderstandingmutual-recursionnbanorman-ramseyobject-orientationovenpanic-monsterpaul-grahampeceptronperlpeter-norvigpeteris-kruminsphil-calcadopostconditionpreconditionprocrastinationproductprogrammingprogramming-contestprogramming-languageprogramming-skillprologpullpushqualityqueuerational-partrecursionrecursive-caserecursive-functionrecursive-regular-expressionred-hatregular-expressionreorganizationreplretirementritika-trikharobyn-scottserviceseymour-papertshannonsimulated-annealingsix-thinking-hatssl4jsoundcloudsrpstack-overflowstacktracestandard-mlstartupstatisticsstorystrengthstrongly-typedstructural-recursionstudenttail-call-optimizationtail-recursionteam-splittech-leadthermodynamicsthinkthinking-hattim-urbantiptmuxtomasz-nurkiewicztrusttype-classtype-inferencetype-inference-algorithmtype-systemunam-mxuploadvalue-stream-mappingvideovisionweakly-typedweaknessweaponwikipediawilliam-mathesonxpyagnizen

The 30 second habit with a lifelong impact I’ve read this article list of patterns, by Robyn Scott, in which it is explained why to compress information in a few ideas, investing 30 seconds to condense the article. Tags: 30-second, habit, robyn-scott The Strengths and Weaknesses of Extreme Programming I’ve watched this video explaining the strengths and weaknesses of extreme programming. By William Matheson Tags: extreme-programming, xp, william-matheson, video, strength, weakness

Coding dojo: Palindromes

Aug 19, 2015 - 1 minute read - Comments - clientcoding-dojojavapalindromefacilitationfacilitator

At a client, today I’ve facilitated a coding dojo on palindrome searching. I’ve prepared a github repository for the java solutions. In this repository, the tag start-here has the prepared pom with dependencies. We have paired to work on the kata but none of my teammate’s solutions are available (at the moment), but mine is at the master branch.

Searching on a suite of failing tests

Aug 13, 2015 - 5 minute read - Comments - tipsearchnaive-searchbinary-searchdichotomous-searchcomparisonspringcontextend-to-end-testtest-dependencyantipattern

Motivation Today, at a client, in the green phase, we had a test suite which was failing: the whole suite fails but the test cases, individually, succeed. So my first impression was that something was being shared between tests. Also confirmed because the failing class was an EndToEnd test, in which we load the whole spring context A quick glance was not revealing anything interesting, so I decided to find which is the minimum suite (as opposed as to the whole suite) that makes the new testcase fail, expecting to narrow the search for possible causes.

The Animal Laborans and the Homo Faber

Aug 10, 2015 - 2 minute read - Comments - the-craftsmanrichard-sennettphilosophyhannah-arendtquoteanimal-laboranshomo-faber

I’ve found this quote very interesting from the book “The Craftsman”, by Richard Sennett: Animal laborans is, as the name implies, the human being akin to a beast of burden, a drudge condemned to routine. Arendt enriched this image by imagining him or her absorbed in a task that shuts out the world, a state well exemplified by Oppenheimer’s feeling that the atomic bomb was a “sweet” problem, or Eichmann’s obsession with making the gas chambers efficient.