The long way through Software Craftsmanship

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.

Books read in 2015Q4

Dec 31, 2015 - 2 minute read - Comments - bookreading2015Q4self-study

Books I’ve read this quarter1: Practical Object-Oriented Design in Ruby, An Agile Primer (POODR) by Sandi Metz, with the ‘@deAprendices’s reading club’. Blog posts under the tag poodr. Books started, not yet finished (WIP): Haskell Programming, By Chris Allen and Julie Moronuki. This book is still in progress and I’m reviewing it Pragmatic Thinking and Learning: Refactor Your Wetware by Andy Hunt Structure and Interpretation of Computer Programs by Abelson, Sussman, and Sussman, with the ‘@deAprendices’s reading club’.

Validating CSV data in clojure

Dec 15, 2015 - 2 minute read - Comments - clojurehofcsvvalidationyagniidea-for-another-postreplrepl-based-developmentselectorlambda

At a client, we have CSVs of data that can be simplified to this 1: (def data [ ["total" 6 8 13] ["0" 1 2 3] ["0" 2 0 4] ["0" 3 0 6] ]) In this case, some of the row named total is the sum of the rest of the rows, but only for some columns (second and fourth). We do not want to get rid of the columns, as they need to be printed at the end.