18 Matching Annotations
  1. Jul 2022
    1. The goal of this project is to have a single gem that contains all the helper methods needed to resize and process images. Currently, existing attachment gems (like Paperclip, CarrierWave, Refile, Dragonfly, ActiveStorage, and others) implement their own custom image helper methods. But why? That's not very DRY, is it? Let's be honest. Image processing is a dark, mysterious art. So we want to combine every great idea from all of these separate gems into a single awesome library that is constantly updated with best-practice thinking about how to resize and process images.
  2. Apr 2022
    1. Pedagogues considered marginal annotations as the first, optional step towardthe ultimate goal of forming a free-standing collection of excerpts from one’sreading. In practice, of course, readers could annotate their books without takingthe further step of copying excerpts into notebooks.

      Annotations or notes are definitely the first step towards having a collection of excerpts from one's reading. Where to put them can be a useful question though. Should they be in the margins for ease of creation or should they go into a notebook. Both of these methods may require later rewriting/revision or even moving into a more convenient permanent place. The idea "don't repeat yourself" (DRY) in programming can be useful to keep in mind, but the repetition of the ideas in writing and revision can help to quicken the memory as well as potentially surface additional ideas that hadn't occurred upon the notes' original capture.

  3. Mar 2022
    1. YAGNI (You Ain’t Gonna Need It) trumps DRY (Don’t Repeat Yourself)

      When people err on the side of advising for things to be overly DRY, I prefer to counter it by advocating for TRY (Try Repeating Yourself). Only after you've actually tried the copy-and-paste approach and have run into actual (vs imagined) issues should you refactor more for the DRY side.

      See also: "A little copying is better than a little dependency." * https://go-proverbs.github.io/ * https://www.youtube.com/watch?v=PAAkCSZUG1c&t=9m28s

  4. Nov 2021
    1. Once we learn how to create abstractions, it is tempting to get high on that ability, and pull abstractions out of thin air whenever we see repetitive code.

      DRY (Don't Repeat Yourself) < TRY (Try Repeating Yourself)

  5. Oct 2021
    1. One of the most known principles of software development is DRY - Don't Repeat Yourself - which is about avoiding code redundancy.
  6. Jun 2021
    1. Rather than write new tooling we decided to take advantage of tooling we had in place for our unit tests. Our unit tests already used FactoryBot, a test data generation library, for building up test datasets for a variety of test scenarios. Plus, we had already built up a nice suite of helpers that we coud re-use. By using tools and libraries already a part of the backend technology’s ecosystem we were able to spend less time building additional tooling. We had less code to maintain because of this and more time to work on solving our customer’s pain points.
  7. May 2021
    1. We certainly wouldn't want to add non-standard appendages to the fetch API, partly because it's confusing but mostly because it would be repetitious; you would need to include that logic in every load function that used the API in question.
  8. Feb 2021
  9. Jan 2021
    1. By abstracting the cleanup process in the cleanUp function, the three callbacks — timeout, success, and error listener — look exactly the same. The only difference is whether they resolve or reject the promise.
  10. Nov 2020
    1. Don't you hate to repeat yourself? For example, I hate working on anything related to user authentication or authorization that isn't directly related to the system I'm working on. I see it as necessary evil, an accidental complexity.
  11. Oct 2020
  12. Sep 2020
    1. We should also allow passing unrecognised props to the rendered component. eg: tabindex might be required on some instances of a component, and not all. Why should developers have to add tabindex support to their components just that it may potentially be used

      Glad to hear this is solved now: $restProps

    1. Thirdly, this provides no good way to control theming at an app level. Every time <Slider> is used, its style properties must be repeated. In most cases, that's probably not what we want.
    1. The dynamic routes are a great way to keep the routing.rb DRY and avoid unneeded dependencies between the routing and the controller files That is exactly the problem: I've already defined the (white)list of actions in the controller; I just want to make them all available via routes. I shouldn't have to repeat myself in the routes file.
  13. Jul 2020
    1. RDFa is intended to solve the problem of marking up machine-readable data in HTML documents. RDFa provides a set of HTML attributes to augment visual data with machine-readable hints. Using RDFa, authors may turn their existing human-visible text and links into machine-readable data without repeating content.
    1. In your environment you may want to always configure internationalization, routers, user data etc. If you have many different React roots it can be a pain to set up configuration nodes all over the place. By creating your own wrapper you can unify that configuration into one place.
  14. Feb 2020