The long way through Software Craftsmanship

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.

Clojure and the macro and

Dec 8, 2015 - 3 minute read - Comments - clojuremacroandreplfunctionmacro-vs-function

While on the REPL, I tried this: simple.core=> (reduce and true [true]) CompilerException java.lang.RuntimeException: Can't take value of a macro: #'clojure.core/and, compiling:(form-init7116694665186998245.clj:1:1) Reading the clojuredocs for and, you can find this: Note add is a macro, so you cannot apply it. For example, there is a vector of some Boolean values [true true false true], which you want to test to see if they are all true. The code below will not work:

Tip: automate the blog publishing

Dec 2, 2015 - 1 minute read - Comments - metaautomationblogtraviscioctopress

I’ve automated the generation of the blog using Travis CI. Using this new way, each commit generates a new version of the pages. These resources have been very useful: Prose.io + Octopress + Travis-CI + GitHub Pages = ♥. First post (in this set) that explains how this automation is possible Auto-deploying to My Octopress Blog With Travis-CI. Explains how to generate your key, encript it with travis Octopress + GitHub Pages + Travis: The most useful page, explains step by step what to do for mac and linux.