The long way through Software Craftsmanship Recent content on The long way through Software Craftsmanship Hugo -- en-us Self-Study in March 2017 Wed, 01 Mar 2017 11:32:19 +0000 <h2 id="volver">¿Volver?</h2> <p>I&rsquo;ve read <a href="" target="_blank">this article</a> by Raul Avila comparing the options between working in the UK and in Spain (where he&rsquo;s originally from). Inspired by other professionals (e.g., David Bonilla, Jerónimo Palacios).</p> <p>Tags: spanish, jeronimo-palacios, david-bonilla, expat, comparison, raul-avila, united-kingdom, spain</p> <h2 id="donkey-code">Donkey code</h2> <p>I&rsquo;ve read <a href="" target="_blank">this article</a> by Einar W. Høst in which he introduces the concept of a &lsquo;missing domain term&rsquo; with the example of a donkey being &lsquo;closely related to a horse, though not exactly the same&rsquo;</p> <p>Tags: einar-host, donkey-code, ddd, domain-driven-development, domain, abstraction, missing-abstraction, business-logic</p> <h2 id="10-habits-that-change-boys-into-men">10 Habits That Change Boys Into Men</h2> <p>I&rsquo;ve read <a href="" target="_blank">this article</a> by Benjamin P. Hardy on why some men are still boys (e.g., expectations from society) and what can boys do to turn into men.</p> <p>Tags: benjamin-hardy, psychology, learning, evolution</p> <h2 id="on-sabbaticals">On Sabbaticals</h2> <p>I&rsquo;ve read <a href="" target="_blank">this article</a> about sabbaticals by Ian Malpass. In it, he explains why we need sabbaticals, how to take them, and some details about them.</p> <p>Some principles:</p> <blockquote> <ol> <li>If you think you can’t take a sabbatical, you need to take your sabbatical.</li> <li>Day-to-day work pushes us to think tactically; sabbaticals push us to think strategically. Both are valuable.</li> <li>Do the work to gain confidence that you can be away, and then trust that that the mechanisms you put in place are good.</li> <li>Just because your team can function without you, doesn’t mean they want to.</li> <li>There is rarely a good time to leave work for an extended period of time - don’t let this stop you.</li> <li>Allow room for serendipity, the unexpected, and exploration.</li> <li>Plan for your return before you leave, to avoid worry.</li> <li>The sabbatical process doesn’t end after six weeks.</li> <li>You don’t have to be unhappy or frustrated in your work to go on sabbatical.</li> </ol> </blockquote> <p>Tags: sabbatical, ian-malpass, team-management, career</p> <h2 id="my-favorite-command-line-utilities">My favorite command-line utilities</h2> <p>I&rsquo;ve read <a href="" target="_blank">this article</a> by Vitaly Belman in which he explains his curated list of utilities for the terminal</p> <p>Tags: vitaly-belman, terminal, cli, application, utility, tig, git</p> <h2 id="three-common-mistakes-of-the-first-time-tech-lead">Three Common Mistakes of the First Time Tech Lead</h2> <p>I&rsquo;ve read <a href="" target="_blank">this article</a> by Patrick Kua, in which he explains what are the anti-patterns (or mistakes) of a tech lead. They do not only apply to first timers, but more experienced ones as well.</p> <p>I especially like a comment:</p> <blockquote> <p>Take all blame and give all credit: I ensure I always take the blame from the stakeholders when something is broken but when they praise, I say its all my teams efforts and I am just guiding them.</p> <p><a href="" target="_blank">ravensnowbird</a></p> </blockquote> <p>Tags: patrick-kua, tech-lead, leadership, team-management, mistake</p> <h2 id="sentimental-versioning">Sentimental Versioning</h2> <p>I&rsquo;ve read <a href="" target="_blank">this article</a> (unknown author) on alternatives to semver (semantic versioning).</p> <p>Tags: semver, semantic-versioning, sentimental-versioning, humor, parody</p> <h2 id="devoxx-2015-how-to-become-a-java-champion">Devoxx 2015: How to Become a Java Champion</h2> <p>I&rsquo;ve watched <a href="http//" target="_blank">this interview</a> to Arun Gupta in which he explains what is a Java champion and how to become one.</p> <p>Tags: interview, arun-gupta, java-champion, devoxx</p> <h2 id="how-can-i-become-a-champion-programmer">How Can I Become a Champion Programmer?</h2> <p>I&rsquo;ve read <a href="" target="_blank">this article</a> by Heinz M. Kabutz on how to become a java champion</p> <p>Tags: heinz-kabutz, java-champion</p> <h2 id="the-myth-of-using-scala-as-a-better-java">The myth of using Scala as a better Java</h2> <p>I&rsquo;ve read <a href="" target="_blank">this article</a> by Denis Kalinin disproving &lsquo;Java as a better Scala&rsquo;. He covers dependency injection, database access, serialization.</p> <p>Tags: scala, java, comparison, orm, denis-kalinin, macwire, dependency-injection, serialization, database, myth</p> <h2 id="the-eigenvector-of-why-we-moved-from-language-x-to-language-y">The eigenvector of &ldquo;Why we moved from language X to language Y&rdquo;</h2> <p>I&rsquo;ve read <a href="" target="_blank">this article</a> by Erik Bern on the statistical analysis (based on people writing blog posts) of moving from language X to language Y.</p> <p>This can help predict which languages will be more prevalent in the future.</p> <p>Tags: eigenvector, statistic, erik-bern, language, programming-language, java, c, cplusplus, go, python</p> <h2 id="facebook-s-code-quality-problem">Facebook’s code quality problem</h2> <p>I&rsquo;ve read <a href="" target="_blank">this article</a> by Graham King on the problems that Facebook is facing, at the code level, and how they solve some of them</p> <p>Tags: graham-king, facebook, quality, architecture, code-quality</p> <h2 id="the-key-lesson-from-our-serverless-migration">The key lesson from our serverless migration</h2> <p>I&rsquo;ve read <a href=";id=6ecb59a937" target="_blank">this article</a> by Gojko Adzic on serverless, a kind of lessons learned. Explains that their system can take 50% more users at 50% of the original cost.</p> <p>Also explains three ways of authenticating users: use IAM users, use Cognito, pre-sign URLs</p> <p>Tags: lessons-learned, gojko-adzic, serverless, paas, platform-as-a-service, retrospective, money, total-cost-of-ownership, tco,</p> <h2 id="when-automation-goes-horribly-wrong">When automation goes horribly wrong</h2> <p>I&rsquo;ve read this article by Gojko Adzic on a story of a manual process that was automated.</p> <blockquote> <p>Because it focused too much on replacing humans instead of assisting them, MiDAS actually made it more difficult for clerks to access the data they needed for review</p> </blockquote> <p>This reminded me of the framework vs library discussion:</p> <ul> <li>in frameworks you relinquish the control, putting your code into the allocated holes.</li> <li>using the automated system, you can only check the claim at a certain spot, where the system lets you do.</li> </ul> <p>The system and the framework have been designed to take control of the situation. Both successful at what they do</p> <p>Tags: gojko-adzic, automation, framework, library, framework-vs-library, comparison, analogy</p> <h2 id="how-i-store-my-1-s-and-0-s-zfs-bargain-hp-microserver-joy">How I Store My 1’s and 0’s: ZFS Bargain HP Microserver = JOY</h2> <p>I&rsquo;ve read <a href="" target="_blank">this article</a> on how Alex stores his backups, using a microserver</p> <p>Tags: backup, microserver, raid, zfs, backup-strategy</p> <h2 id="meeting-policy">Meeting policy</h2> <p>I&rsquo;ve read <a href="" target="_blank">this article</a> by the Ueno team on how they handle meetings. Interesting that they require manager approval for meetings over a certain threshold (more than four people or more than half an hour).</p> <p>Tags: ueno, meeting-policy, meeting, approval</p> <h2 id="a-brief-history-of-random-numbers">A Brief History of Random Numbers</h2> <p>I&rsquo;ve read <a href="" target="_blank">this article</a> by Carl Tashian on how random numbers have evolved (from dice to pseudo random number generator and random number generators). Explain how some companies that need true randomness (e.g., certificates company) generate them.</p> <p>Tags: carl-tashian, dice, random-number, randomness, prng, pseudo-random-number-generator, random-number-generator, number-generator, true-random-number-generator</p> <h2 id="unlock-honest-feedback-with-this-one-word">Unlock honest feedback with this one word</h2> <p>I&rsquo;ve read <a href="" target="_blank">this article</a> by Claire Lew, in which she suggests to ask for &lsquo;advice&rsquo; instead of asking for &lsquo;feedback&rsquo; as a way of getting more honest and better responses.</p> <p>Tags: claire-lew, advice, feedback, feedback-process, improvement</p> Tip: using tortoise credentials in git CLI Wed, 02 Mar 2016 12:41:28 +0000 <h2 id="tortoisegit-part">TortoiseGit part</h2> <ul> <li>Go to a repo</li> <li>right button, Settings</li> <li>Git -&gt; Credential</li> <li>Add a creadential</li> <li>Config type: global</li> <li>Helper: wincred</li> </ul> <p>Sync once using your HTTPS password</p> <h2 id="cli-part">CLI part</h2> <p>Open the <code>$REPO/.git/config</code> and add</p> <pre><code>[credential] helper = wincred </code></pre> <p>Remote git operations should not ask for credentials anymore</p>