This self-documentation is a great gift for other developers (and your future-self). A quick look at the Data Object definition tells us what attributes are available. No need to go through those four classes where a hash that’s returned by a third-party API is transformed, filtered, reduced, deleted, symbolized keys and recursively flattened… wait, what?! […]
The plumbing and scaffolding logic to support branching in code becomes a nasty form of technical debt, from the moment each feature switch is introduced. Feature flags make the code more fragile and brittle, harder to test, harder to understand and maintain, harder to support, and less secure. Source: Building Real Software: Feature Toggles are […]
Magit’s always had a neat cherry picking functionality, letting you cherry pick arbitrary commits from the commit log. I use it frequently by combining it with range logs to look at commits in other branches. The cherry pick interface is available on A, and you can use it in more places. Practically anything the point […]
Sidekiq retries are a recurring theme with our infrastructure. We’ve made a number of decisions around the fact that we have this advantage already built-in, and we might as well take advantage of it. Via: http://brandonhilkert.com/blog/a-path-to-services-part-1-start-small/ It’s always nice to read about lessons learned. Interesting points here about leaning on a queuing system for resiliency.
In order to be able to assess the quality of our brains’ outputs, we much be able to assess the quality of the inputs. Using opaque algorithms to access information interferes with our ability to assess the quality of that information as an input. Opaque algorithms decontextualize information; without that context, we have difficulty developing […]