The long way through Software Craftsmanship

In Defense of Tooling

May 30, 2019 - 2 minute read - Comments - tooltoolingdave-dunfieldquotecurriculum

A quote (on a curriculum vitae) that I’ve enjoyed: I am a firm believer in the value of tools, and often spend significant time at the beginning of a project developing tools specific to the needs of the project. This always pays off in the long run. I use tools to: Perform tasks not otherwise achievable Automate tedious/repetative processes Simplify steps in the build/debug cycle Eliminate “human error” in scanning, translation etc.

Automatically keeping the intermediate history of your work using git

May 29, 2019 - 2 minute read - Comments - tooltoolboxgitdocumentationspikeautomationmarkermarker-interfaceflowproblemsolution

This is another tool for your toolbox: using git to automatically document your development process (special cases only.) Context When I’m spiking a feature, I usually get in the zone (e.g., Csikszentmihalyi’s Flow), and I can forget my good engineering practices, searching for that desired answer. After a few of those bouts of coding, you realize you’re wandering. You circle around, get lost, get back on track, then get lost again.

Self-Study in May 2019

May 1, 2019 - 1 minute read - Comments - self-study-aggregationmay2019archiveashley-madisonbarry-mazurbruce-schneiercompany-valuationdatadata-archivaldata-breachdecisiondecision-makingessayinformationinformation-managementliabilitymemexpersi-diaconispersonal-knowledge-basesecurityspillspin-a-pennystanfordstated-meeting-reporttoxictoxic-assetweb-archive

The Problem of Thinking Too Much An example of what happens when you think too much. The paralysis that comes from it Tags: persi-diaconis, stanford, stated-meeting-report, barry-mazur, spin-a-penny, decision-making, decision Id: e14aba08-7add-11e9-9e23-0242ac110003 Read: Mon, 20 May 2019 09:01:39 +0000 Personal web archives; a report Creating a personal web archive, based on the tools they created. a browser extension for storing web pages, a web archive server hosting such snapshots, a(nother) browser extension to query such archives.

Self-Study in April 2019

Apr 1, 2019 - 4 minute read - Comments - self-study-aggregationapril20191973actoractor-modeladadvicealexanderalgorithmalternativearchitectureb-treebatch-the-simple-stuffbluekaibookbusycc-langcareer-managementcarnegie-mellon-universityclassicclonecmucodecomparisoncontiguous-time-blocksconversioncoursecreatecstackcursordata-management-platformdatabasedbdelegatedmpdonald-littledrop-unimportant-tasksefficacyefficiencyethicalethicsfeedbackfeedback-loopgitlabgood-enoughgroupgroupthinkhewitthighlightindexirving-janisjames-kilejames-seibeljust-startlewis-carrolllook-aheadmanifestomemsqlmongodbnuodbpasswordpatterpattern-languagepdpplannerploppresentationprioritizeproductivityprojectput-it-offquoteregexregular-expressionremoteremote-workreplresourcesamir-shahseek-clarificationseminalsingle-task-important-itemsslideslides.comsqlsql-serversqlitestartupstrike-when-you-are-hotstructured-programmingtask-jarteamteam-dynamicteam-managementtechniquetooluniversityvalidationvoltdbwalkthroughworkworkshopycombinator

How to validate password with regular expression Explains the ‘?=’ character in a regex, to validate conditions. Make it ‘.*’ to ‘contain’, rather than ‘startWith’ Tags: password, validation, look-ahead, regex, regular-expression Id: 2ed5999a-555f-11e9-8bf8-0242ac110005 Read: Tue, 02 Apr 2019 15:51:30 +0000 Unlock honest feedback from your employees with this one word I’ve read this article about asking for advice instead of asking for feedback and how that helped. Tags: comparison, advice, feedback

Books read in 2019Q1

Mar 31, 2019 - 14 minute read - Comments - bookreading2019Q1self-studyaprendicesreading-club

This quarter I’ve focused my efforts on a mix of everything: business books: Traction, The Goal philosophy: Stoicism and personal philosophy some finance: classic: Malkiel, personal finance: Robin some classic psychology: Frankl a classic novel: The Metamorphosis (Kafka) Read this quarter: Hombre en busca del sentido, el; Frankl; own-it, non-technical Metamorfosis; Kafka; own-it, non-technical Your money or your life; Dominguez, Robin; non-technical, finance, own-it Traction; Wickman; own-it, non-technical How to Be a Stoic: Using Ancient Philosophy to Live a Modern Life; Pigliucci; own-it, non-technical Guide to the Good Life, The Ancient Art of Stoic Joy, a; Irvine; non-technical, own-it Goal, the; Goldratt (+); own-it Random walk down wall street a; Malkiel [Parts I, II, III]; own-it Note: re+read means I’m re-reading this book.

Self-Study in March 2019

Mar 1, 2019 - 9 minute read - Comments - self-study-aggregationmarch2019abstractionadviceagileagile-developmentanalogyandroidanti-architecturearchitectureask-hnaustraliabootstrapburtonatorcareer-changecareer-managementchangechasmclientclosedclosed-standardclscomparisonconsultingcontinuation-local-storagecreativitycritical-pathdesigndev-toolseconomic-perspectiveend-user-programmingengineerextensibilityextensionfinanceflexibilityfor-profitfounderfreelancegooglegotifygps-driftgrid-layouthackernewshealthy-eatinghealthy-testinghistoryhooki18nintegration-testkent-c-doddsleaderlean-testingleapfrog-solutionlearningloggingmaintenancemanagementmetaphormichael-pollanmoficationmoney-managementmoney-wealthmythnodejsnotificationnotification-serviceocpopenopen-closed-principleopen-sourceopen-standardpersonal-knowledge-basepolarizedprint-designprofessional-growthprogrammingprogressionproject-managementprotocolproxypublic-speakingquotereflectionreplresourcereturn-on-investmentrevenuereviewroiruleself-hostedside-businessside-hustlesolo-founderspeakspeakingspreadsheetsqlstartuptest-pyramidtestingtesting-pyramidtesting-trophytheorythread-localthread-local-storagetime-managementtime-wealthtlstooltrace-idtracingunit-testunixuserw3wwarcwarchweb-2.0web-3.0web-archiveweb-builderweb-designweb-design-3.0what-three-words

NodeJS logging made right Explains logging and tracing in nodejs. Usage of thread-local storage, trace id, continuation local storage. Tags: nodejs, logging, tracing, thread-local, thread-local-storage, trace-id, continuation-local-storage, cls, tls, proxy, hook Id: 5bed4596-3f5b-11e9-83e1-0242ac110005 Read: Tue, 05 Mar 2019 15:28:42 +0000 Web Design 3.0: When Your Web Design Really Matters In Chapter 1, we will find out how Web Design is changing. Also, you will learn about the birth of the new generation of web designers, who are designing web pages in Web Design 3.