The long way through Software Craftsmanship

Self-Study in March 2016

Mar 2, 2016 - 7 minute read - Comments - self-study-aggregationmarch2016readabstract-data-structureadoptionadtagileambitionanalogyanalysisautomationbecodeweekbemben-orensteinbenedict-fritzblogbook-comparisonbook-reviewburnoutcapacitychristopher-buiclean-codecodecationcodingcodurancecohesioncoman-hamiltoncomparisoncontinuation-stylecraftsmancraftsmanshipcsscss-architecturecss-methodologyculturedaniel-irvinedeath-marchdeductive-learningdeep-workdeliberate-practicedeploydesigndesign-level-cohesiondesign-problemdesk-surfingdetaildevopsdlc-cohesiondomain-specific-languagedslduncan-stuartedward-yourdonessayestjetsyexclusive-orexperienceexperience-reportfeminismfibonaccifragile-test-problemfullstackgarbage-collectiongiving-up-tddgroup-belongingheinz-kabutzhireholidayhypothesisiain-taitian-sommervilleimplementation-patternsimprovementin-companyinductive-learninginternalizinginterviewintpintroductionivan-fraixedesjamis-buckjavajaxenterjemima-kissjessica-livingstonjobjoe-richardsonjohn-allspawjohn-rawlsjoseandreslabellambdalarry-constantinelawlaw-of-ruthless-prioritizationlazinesslearn-to-programlearninglearning-cyclelearning-processlistmachine-learningmagic-bullet-problemmagical-thinkingmanagementmartin-fowlermaturity-levelmetametaphormotivationmyers-briggs-typenon-strictnessoctopressoffice-cultureonboardingpaul-grahamperfectionpersonalpet-projectplaipomodoroproblemprocessprocess-theoryproduct-managementproduct-strategyproductivityprogramming-languagepsychologyq-and-aquotereactive-programmingred-black-treerefactoringresponserich-mironovrobert-martinrobin-rendlerubysandro-mancusosarah-tavelsassschemeshallow-workshippingshriram-krishnamurthisimplificationslacksmc-cohesionsoftware-designsoftware-economicsspamspammerstorystrictnesstddteachingteamteam-managementteammateteamworktechniquetestable-design-problemtime-managementtip-and-tricktnstaafltype-soundnessuncle-bobuser-experiencevacationveil-of-ignorancevincent-partingtonvlogwarfarewolfgang-goerlichworky-combinatorycyeray-darias

Learning Programming Isn’t That Hard, Deep Work Is Hard I’ve read this article by Benedict Fritz on two types of work (i.e., deep and shallow) and how programming is of the deep type. He links the difficulty of learning to program to the difficulty of practicing deep work. Tags: analogy, benedict-fritz, deep-work, shallow-work, learn-to-program, psychology BeCodeWeek by Yeray Darias I’ve read this category of posts by Yeray Darias about his BeCodeWeek, a desk-surfing experience at BeCode.

Tip: using tortoise credentials in git CLI

Mar 2, 2016 - 1 minute read - Comments - githow-totipclitortoisegit

TortoiseGit part Go to a repo right button, Settings Git -> Credential Add a creadential Config type: global Helper: wincred Sync once using your HTTPS password CLI part Open the $REPO/.git/config and add [credential] helper = wincred Remote git operations should not ask for credentials anymore

Kata formulation: Find the comments

Mar 1, 2016 - 2 minute read - Comments - kataformulationphpcommentexercise

Little Johnny is inspecting a PHP source code that contains comments. These comments contains words that he doesn’t understand, as it written in another language. Rules and constraints The source code in the PHP files does not need to be correct. A comment (a subset of PHP comments) is defined as: A line containing C-style comment delimiter, except when it is within a string // hello C-style is a valid comment echo "//"; is not a comment echo '//'; is not a comment A line containing Perl-style comment delimiter, except when it is within a string # hello Perl-style is a valid comment echo "#"; is not a comment echo '#'; is not a comment There are no multi-line comments /* .

Two persons involved in a git commit, in github

Feb 14, 2016 - 3 minute read - Comments - gitpair-programminggithubhow-totipcommitterauthor

On git You can have multiple persons involved in a single git commit: an author and a committer. The difference is explained by Manuel Doninger 1: The author is the one who did the code change. The committer is the person who committed that change to a repository. an example, by the same author: Example: I’m not a committer in the EGit project, so i have no rights to push directly to the EGit repository at Eclipse.

Self-Study in February 2016

Feb 1, 2016 - 9 minute read - Comments - self-study-aggregationFebruary2016read60fpsabilityacceptance-testingaccidental-complexityaggregateagilealberto-brandolinialexander-deminamazon-s3analogyanalysisangularangular-2answerapiappapplicationarchitecturebackendbackend-for-frontendbffblogbookbotbounded-contextbrandon-annadaybus-factorbusiness-needcdncharles-wetherellchris-allenchris-hartclean-codeclientcloudantcommunicationcompanycompany-valuecomparisoncontainercontinuous-deliverycontinuous-investmentconway-lawcrawlercreativitycross-pollinationcssculturedavid-bonilladbaddddesigndifferencedockerdrew-hamlettdreyfus-modeldruckeredward-kmettempathyenterpriseentityerlangessential-complexityetudeetudes-for-programmerseventexplanationfat-clientfat-serverfederico-carronefeedback-loopsflip-techniqueframeworkfreelancerfrontendfunctional-languagefunctional-programminggohanlon-razorhapihaskellhidehugoidrisignoranceimageintegrationinterfaceinterviewintroductionisomorphic-javascriptisomorphismj-b-rainsbergerj-brainsjames-higginbothamjames-kylejavascriptjavascript-7jekylljesper-andersenjesper-louis-andersenkent-beckkurt-rohlandtlambda-confland-of-lisplanguagelearn-to-learnlearning-to-learnlistlocalforagemalicematt-hernandezmetameta-learningmicroservicemigrationmikael-chomikko-ohtamaamobilemodelmodule-testingmodulusmonadmotivationmvcmythical-man-monthnagddnathan-leclairenodejsnolan-lawsonnorthern-warobject-oriented-languageocamloctopressofflineoffline-firstoopopen-ourceopen-questionopen-sourceoredevpatternpokedexpokemonpouchdbpracticeprogrammerprogrammingprogressiveprotocolprotocol-designquorarainsbergerrealtimerefactorrest-apiria-spike-brehmright-thingrobotrorrubyruby-on-railsruleruss-ackoffsailsjsscrumsebastian-ferrariseoshared-infrastructuresiloskillskypeslackslidesoasoftwaresoftware-designsoftware-developmentspanishstack-overflowstakeholderstartupstatic-site-generatorstrategystyle-guidesublimesvgomgsystem-thinkingtalktddteam-managementtechnical-debttedthe-jvmthin-clientthin-serverthing-righttim-nashtime-managementtiptriple-checkubiquitous-languagevaluevideoweb-workerwordpressxp

Software and all that comes with it I’ve read these slides about creating software and asking questions to deliver value, by Alberto Brandolini Tags: alberto-brandolini, software, slide, team-management, agile Driving your DBA crazy in 3 easy steps I’ve read these slides about dealing with the knowledge that is present in the database, not expressed in ubiquitous language and cause of the low bus factor, by Alberto Brandolini Analogy between the movie The Shining and a model / entities / aggregates.

Self-Study in January 2016

Jan 1, 2016 - 15 minute read - Comments - self-study-aggregationJanuary2016readacademiaaccessibilityadam-bienadam-drakeaddictionagilealvaro-castro-castillaanalogyanalysisangel-medinillaanswerarchitecturearho-huttunenassociativityasynchronous-communicationautomatticautonomyawkbddbecodeweekbig-bang-releasebonilistabugbulkhead-patternburn-outburnoutcareercareer-managementcatamorphismceocharlotte-liebermanchesschristian-heilmannchristopher-alexandercircuit-breakercli-commandsclojureclosed-sourcecode-screencastcollisioncommandcommunicationcomparisoncomplex-workcomplexity-icebergcomplicated-workcomputationconcurrencyconstructorconsulconsumer-driven-contractcontractorcreedcristobal-youngculturedatabasedavid-bonilladdddefectdefinitiondengguo-fengdesign-patterndesk-surfingdistributed-consensusecb-patterneggheademployeeemployeressayetcdethosexampleexcuseexerciseexperienceexperience-reportfat-pagefluxfreelancerfunctionfunctional-programminggood-programmerguillermo-winklerhadoophash-functionhaskellhateoashexagonal-architecturehofhongbo-yuhumane-registryimprovementimpure-functionincremental-iterative-developmentinputisolationleveljavajavascriptjen-carlilejmbeasjobbing-programmerjohn-lindquistjose-manuel-beasjosh-symondsjs-perfjsperfjunitkaren-firestonekellankellan-elliott-mccreakris-jenkinslanguagelatexlearninglearning-organizationlistlock-step-releasemaciej-ceglowskimailgunmanagementmapmarkdownmatt-mullenwegmicroservicemilinda-pathiragemindfulnessmob-programmingmobilemocmonolithmonolithic-systemmoocmssqlmvc-patternndcnested-runnernick-baumnixobesityobserveronline-courseopen-sourceoracleoutputpair-programmingpaperparadoxparallelismpatiencepatternpaul-lewispaul-whiteperfomanceperformanceperlpet-projectproduct-managementprofessionalprofessional-careerprogramming-languagepropietary-softwareproxypure-functionpythonquotereactrebecca-wirfs-brockrecordrecord-videoreducereducerremoteremote-workrepresentationresearchrestroman-stranghonerron-jeffriesrot13sam-newmanscalascreencastscriptscrumscssebastian-kadeself-contained-systemserializableservice-discoveryseth-godinside-causeside-effectsimplicityskillslackslideslide-transcriptionsocial-mediaspanishspeedsqlstackoverflowstartupstresssyntaxtalktddteamteam-buildingteam-dysfunctionteam-managementtechnical-debttechnology-stress-paradoxtesttime-managementtiptooltrack-downtranscriptiontrevor-millerumejugunixunrulyvalerie-auroravanilla-javascriptvideoworkwork-life-balancexiaoyun-wangxpxuejia-laizookeper

Test cases in inner classes with JUnit I’ve read this answer in stackoverflow about nested test runners in JUnit Tags: junit, stackoverflow, answer, nested-runner Recording a Great Coding Screencast I’ve read this article by John Lindquist where he explains how he sets up the recording environment for egghead. Tags: john-lindquist, record, screencast, egghead, code-screencast, record-video, video React Testing Course I’ve watched the full course by Trevor D. Miller on how to test react components and the libraries to make it possible.