en en en en en en en en en en en en en en en en en en en en en en en en en en en en en es en en en en en en en en en en en en en en en en en en en en en en en en en es en es en en en en en en en en en en en en en en en en pl en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en pt en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en
Mar 2, 2016 - 7 minute read - Comments - self-study-aggregationmarch2016readabstract-data-structureadoptionadtagileambitionanalogyanalysisautomationbecodeweekbemben-orensteinbenedict-fritzblogbook-comparisonbook-reviewburnoutcapacitychristopher-buiclean-codecodecationcodingcodurancecohesioncoman-hamiltoncomparisoncontinuation-stylecraftsmancraftsmanshipcsscss-architecturecss-methodologyculturedaniel-irvinedeath-marchdeductive-learningdeep-workdeliberate-practicedeploydesigndesign-level-cohesiondesign-problemdesk-surfingdetaildevopsdlc-cohesiondomain-specific-languagedslduncan-stuartedward-yourdonessayestjetsyexclusive-orexperienceexperience-reportfeminismfibonaccifragile-test-problemfullstackgarbage-collectiongiving-up-tddgroup-belongingheinz-kabutzhireholidayhypothesisiain-taitian-sommervilleimplementation-patternsimprovementin-companyinductive-learninginternalizinginterviewintpintroductionivan-fraixedesjamis-buckjavajaxenterjemima-kissjessica-livingstonjobjoe-richardsonjohn-allspawjohn-rawlsjoseandreslabellambdalarry-constantinelawlaw-of-ruthless-prioritizationlazinesslearn-to-programlearninglearning-cyclelearning-processlistmachine-learningmagic-bullet-problemmagical-thinkingmanagementmartin-fowlermaturity-levelmetametaphormotivationmyers-briggs-typenon-strictnessoctopressoffice-cultureonboardingpaul-grahamperfectionpersonalpet-projectplaipomodoroproblemprocessprocess-theoryproduct-managementproduct-strategyproductivityprogramming-languagepsychologyq-and-aquotereactive-programmingred-black-treerefactoringresponserich-mironovrobert-martinrobin-rendlerubysandro-mancusosarah-tavelsassschemeshallow-workshippingshriram-krishnamurthisimplificationslacksmc-cohesionsoftware-designsoftware-economicsspamspammerstorystrictnesstddteachingteamteam-managementteammateteamworktechniquetestable-design-problemtime-managementtip-and-tricktnstaafltype-soundnessuncle-bobuser-experiencevacationveil-of-ignorancevincent-partingtonvlogwarfarewolfgang-goerlichworky-combinatorycyeray-darias
Learning Programming Isn’t That Hard, Deep Work Is Hard
I’ve read this article by Benedict Fritz on two types of work (i.e., deep and shallow) and how programming is of the deep type. He links the difficulty of learning to program to the difficulty of practicing deep work.
I’ve read this category of posts by Yeray Darias about his BeCodeWeek, a desk-surfing experience at BeCode.
Publishes one entry per day detailing his activities: working for an open-source library, discussions, etc
I’ve read this page about tracer bullets, an analogy from the military warfare to a software project.
Serves the purpose of adjusting the aim of the cannon to better reach the target.
Cohesion - the cornerstone of software design
I’ve read this article by Sandro Mancuso on the topic of cohesion. Describes the 7 types of cohesion, as described in Structured Design1, from worst to best:
Tags: cohesion, codurance, edward-yourdon, larry-constantine, list, sandro-mancuso, software-design, design-level-cohesion, smc-cohesion, dlc-cohesion
Etsy CTO Q&A: We Need Software Engineers, Not Developers
I’ve read this interview with John Allspaw, where they explain the onboarding experience for new hires at Etsy, the DevOps philosophy and the need for engineering skills, more than developer skills. This can be exemplified in the need to know more, defining the boundaries of your job and finding the right tool for the job.
Tags: devops, interview, q-and-a, john-allspaw, etsy, onboarding, hire, team-management, deploy
I’ve read this article by Martin Fowler on why we should repeat things that are difficult for us:
Tags: martin-fowler, automation, process, perfection, internalizing, technique, detail, process-theory, agile
I’ve watched this video where Coman Hamilton from JAXenter interviews Dr. Heinz Kabutz about Java’s lambda syntax. Cites the problem with exceptions, generics, method overloading.
Tags: java, lambda, coman-hamilton, jaxenter, heinz-kabutz, problem
El full-stack developer en 2016
I’ve read this article by Jose Ignacio Andrés about the job descriptions of 2016.
El principal valor de un full-stack es poder simplificar el trabajo a los demás miembros del equipo.
The main value of a full-stack developer is to be able to simplify other teammates' work
Tags: teamwork, teammate, fullstack, simplification, work, team-management, jose andres
I am a software craftsman
I’ve read this article by Daniel Irvine about calling yourself a craftsman or not. He says that if you adhere to their values, you should.
Tags: craftsmanship, label, daniel-irvine, craftsman, group-belonging
Teaching Programming Languages in a Post-Linnaean Age
I’ve read this paper by Shriram Krishnamurthi where he explains the need for books like PLAI:
lack of paradigms in new languages, and its separation (or lack of)
design of languages cheaper and cheaper these days
rigor level in publications
inductive and deductive learning
post-Linnaean refers to the Carl Linnaeus:
He is known as the father of modern taxonomy
Tags: inductive-learning, deductive-learning, dsl, domain-specific-language, type-soundness, continuation-style, garbage-collection, reactive-programming, scheme, plai, teaching, programming-language, shriram-krishnamurthi
I’ve read this article by sonnym about using ruby’s lazy (non-strict) features, detailing an example with Fibonacci’s sequence.
Tags: laziness, strictness, non-strictness, ruby, fibonacci, comparison
I’ve read this essay by Paul Graham about his co-founder at the Y-combinator: Jessica Livingston. She was considered the Social Radar at YC
The essay also talks about the non-existent separation between working hours and not and about her implication and personality.
Tags: jessica-livingston, paul-graham, y-combinator, feminism, yc, essay
Four Laws Of Software Economics (Part 1)
I’ve read this article by Rich Mironov on why the development team will never be big enough (because of economics, because there are more things to be done than time to do them, so we have to prioritize them) and about the communication problems between the dev team and the client(s).
Also talks about the general personality of clients and devs and task prioritization
Tags: exclusive-or, magical-thinking, tnstaafl, management, agile, team, capacity, death-march, estj, intp, software-economics, product-strategy, law-of-ruthless-prioritization, law, rich-mironov, slack, myers-briggs-type
You Should Take A Codecation
I’ve read this article by Ben Orenstein explaining what is a codecation and what he’s done in the two codecations he’s taken.
Tags: codecation, ben-orenstein, vacation, holiday, coding, shipping, in-company
Giving Up on TDD
I’ve read this article by Ian Sommerville about the problems he’s found while doing TDD, mainly about design, but also about being conservative in the amount of tests you allow yourself to break while refactoring.
Tags: tdd, ian-sommerville, refactoring, problem, design-problem, design, giving-up-tdd
Giving Up on TDD - answer
I’ve read this article by Robert C. Martin on the common issues for people adopting TDD:
The Fragile Test Problem
The Testable Design Problem
The Magic Bullet Problem
This article is an answer to another by Ian Sommerville.
Tags: tdd, uncle-bob, robert-martin, adoption, ian-sommerville, fragile-test-problem, giving-up-tdd, design-problem, testable-design-problem, magic-bullet-problem
Seek out jobs with fast learning cycles
I’ve read this article by Sarah Tavel on learning on the job and how fast these learning cycles can happen at companies at different stages of maturity.
So if you’re thinking of changing jobs, or taking your first, my advice: find a place with a fast learning cycle, and a steep learning curve.
Tags: learning, job, hypothesis, sarah-tavel, learning-cycle, maturity-level, learning-process, product-management
Clean Code Vs. Implementation Patterns
I’ve read this comparison of Clean Code vs Implementation Pattern books, by Vincent Partington.
In it, the author explains the differences in style in both books, and how they compare to others.
Tags: clean-code, implementation-patterns, comparison, book-review, book-comparison, vincent-partington
Stuck in Traffic vlog #103 - New Spammer Techniques
I’ve seen this vlog entry on machines fighting machines (exemplified with the spam producing and filtering) and how some spammers are trying more direct techniques focusing on higher-value targets, sometimes even handcrafting messages and modifying them every few units.
Tags: wolfgang-goerlich, spam, vlog, spammer, machine-learning
I’ve read this article by Christopher Bui where he explains that projects that are too ambitious stall your productivity and make you lose your focus.
Tags: christopher-bui, pomodoro, time-management, productivity, motivation, ambition, paul-graham, quote
Hanging around with red-black tree implementations: the beginnings
I’ve read this article by Ivan Fraixedes where he details the progress of implementing a red-black tree, and also his motivation for doing it.
Tags: ivan-fraixedes, red-black-tree, abstract-data-structure, adt, deliberate-practice, pet-project
Some Tools for Faster Blogging in Octopress
I’ve read this article for tips and tricks on how to blog faster with octopress. Written by Duncan Stuart.
Tags: duncan-stuart, blog, improvement, meta, octopress, tip-and-trick
The veil of ignorance
I’ve read this article by Adam Morse on how not being on the top of the skills performance can affect your design and your user experience. Also, references the concept of “The Veil of Ignorance”, a concept by John Rawls.
Tags: john-rawls, veil-of-ignorance, user-experience, design
To Smile Again – Recovering from the paralysis of burnout
I’ve read this article by Jamis Buck on his story of burnout, what symptoms had on him and how he got out of it.
Tags: burnout, jamis-buck, psychology, productivity, personal, story, analogy
Beyond email: could startup Slack change the way you work?
I’ve read this article on Slack’s office culture, with their diversity, policies and values after a high people growth in a short period of time. By Jemima Kiss
Tags: culture, office-culture, slack, jemima-kiss
Slack: Work This Way
I’ve read this article, a response to my above read, about the office culture at Slack.
Tags: iain-tait, response, slack, office-culture
I’ve read this introduction to a CSS style called Block, Element, Modifier methodology (BEM).
a block is a top-level abstraction of a new component
Child items, or elements, can be placed inside and these are denoted by two underscores following the name of the block […]. modifiers can manipulate the block so that we can theme or style that particular component without inflicting changes on a completely unrelated module. This is done by appending two hyphens to the name of the block […].
By Joe Richardson, Robin Rendle et al.
Tags: joe-richardson, robin-rendle, bem, css, css-methodology, introduction, css-architecture, sass
Structured Design: Fundamentals of a Discipline of Computer Program and Systems Design by Yourdon and Constantine. ↩︎
Posted by Alvaro Garcia Mar 2, 2016
Tip: using tortoise credentials in git CLI Books read in 2016Q1
This blog contains two sections: breadcrumbs (my learnings) and articles (might be useful for others). You can find me on: