The long way through Software Craftsmanship

Practical Object-Oriented Design in Ruby: Chapter 1

Jun 29, 2015 - 1 minute read - Comments - reading-clubaprendiceschapterpoodrsandi-metzmichael-feathersrubyobject-oriented-designoodedward-berarddesign-metricschurn

We’ve read the first chapter from the Practical Object-Oriented Design in Ruby, by Sandi Metz. These are the concepts and links brought up during the discussion: Walking on water and developing software from a specification are easy if both are frozen. Edward V Berard, source is Wikiquote Two cited papers on metrics for design: A metrics suite for object oriented design by Chidamber and Kemerer A validation of object-oriented design metrics as quality indicators by Basili, Briand and Melo The video for the ‘churn’ as a measure:

Brown-bag session: Refactoring legacy code

Jun 23, 2015 - 2 minute read - Comments - refactorrefactoringlegacy-codetrainingbrown-bag-sessionclientexperience-report

Today I have facilitated a brown bag session about refactoring legacy code applications, as this is the case with one of the applications we maintain and add new features to. The contents of the session: Briefly exposing the problem to the team, me taking the role of the Product Owner (PO) Ask the dev team to add an easy feature Do it without tests, as it was so simple that they thought they could do it (using mob programming) Ask if they were satisfied by the patch / fix.

Brown-bag session: docker

Jun 16, 2015 - 1 minute read - Comments - dockertooltrainingbrown-bag-sessionclient

Today we have done a brown bag session about Docker. One of the team members explained to us the latest news, topics and how tos, including: the difference between a container and an image diffing image contents AUFS (Another Union FS) persistent vs non-persistent (volatile) filesystems running CMD and other commands on the instance problems of running with permission = root (or its group) downsides of it how to compare it with a virtual machine

Types of defects

Jun 14, 2015 - 2 minute read - Comments - ethostyposwritosthinkostypes-of-defectscategorizationslashdotquoteleprechaun

Some time ago, while researching types of defects and the cost of fixing them1, I stumbled upon this: Years ago I worked with a bunch of economists in the US Federal Government - they categorized ‘bugs’ in their memos into three types: Typos: Simple misspellings of words. Infrequent, easy to detect, easy to fix. Writos: Incoherent sentences. More frequent, hard to detect, harder to fix. Thinkos: Conceptually bonkers.

Brown-bag session: Refactoring

Jun 11, 2015 - 1 minute read - Comments - brown-bag-sessionrefactoring

At a client, today we’ve done a brown-bag session on refactoring: we’ve gone through and a live demo, including refactoring a core piece of our code. We’ve done some mob programming to help identify some smells and how to fix them.

Self-study in June 2015

Jun 3, 2015 - 5 minute read - Comments - self-study-aggregationjune2015monitoringcqrsby-examplearticlemicroservicearchitecturebalanceremote-worknino-martincevicrobert-c-martinjulien-kirchcedrick-lunvenmichael-erasmusgregory-brownabdelmonaim-remanibazaarlearningperilseducationlearningdavid-bonillabonilistarui-figueredoscientific-methodtddbddmetaprogrammingjavaapprenticeshipronny-ancorinipeter-bellrefactoringlegacy-codeantipatternsbig-ball-of-mudpatternsbrian-footejoseph-yoderrüdiger-möllerconcurrencyparallelismjvmjmmjava-memory-modeldeadlockactorcspdisruptorakkaabstraktoralberto-bacchellichristian-birdwikipedia5-whysjessica-kerrqualitybeautiful-codejeremy-ashkenasdavid-deSandrotranspilerphysicsmobile-devicecode-geniusjenn-schifferbresenhamline-algorithmalgorithmjohn-crepezzijavascriptminifiedminifyuglifycompressdebugdev-toolchromerebecca-wirfs-brockcarlos-bleantirezgitcommit-messagecommitgarbage-collectiong1-algorithmcms-algorithmpythonswitch-casedaniel-roy-greenfeldmax-ogdenjoseph-monizclojurecarin-meierchemical-computingabstract-computinghaskelllenslensesgabriel-gonzalezgarann-meansprofessionalismculturejeff-atwoodreadingself-study

Update: I’ve grouped all small posts related to the self-study from June 2015 into a single post Le monitoring de flux par l’exemple I’ve read this article about monitoring, in the way of “by example”, by Cédrick Lunven and Julien Kirch (French) The First Micro-service Architecture I’ve read this article about microservices and how they were implemented many years ago by Robert C. Martin How I Learned to Balance My Life With Remote Work I’ve read this article about balancing life and work, either physical or remote by Michael Erasmus