22 Matching Annotations
  1. Oct 2023
    1. on the traditional empiricist account we do not have direct access to the facts of the external world 00:11:03 that is we do not experience externality directly but only immediately not immediately but immediately because between us and the external world are those what do you call them oh yes 00:11:18 sense organs and so the question is how faithfully they report what is going on out there well to raise the question how faithful is the sensory report 00:11:30 of the external world is to assume that you have some reliable non-sensory way of answering that question that's the box you can't get out of and so there is always this gap 00:11:42 between reality as it might possibly be known by some non-human creature and reality as empirically sampled by the senses whose limitations and distortions are very well 00:11:56 known but not perfectly classified or categorized or or measured
      • for: good explanation: empiricism, empiricism - knowledge gap, quote, quote - Dan Robinson, quote - philosophy, quote - empiricism - knowledge gap, Critique of Pure Reason - goal 1 - address empiricism and knowledge gap

      • good explanation : empiricism - knowledge gap

      • quote

        • on the traditional empiricist account
          • we do not have direct access to the facts of the external world
          • that is we do not experience externality directly but only MEDIATELY, not immediately but MEDIATELY
            • because between us and the external world are those what do you call them oh yes, sense organs
          • and so the question is how faithfully they report what is going on out there
          • To raise the question how faithful is the sensory report of the external world
            • is to assume that you have some reliable non-sensory way of answering that question
          • That's the box you can't get out of and so there is always this gap between
            • reality as it might possibly be known by some non-human creature and
            • reality as empirically sampled by the senses
              • whose limitations and distortions are very well known
                • but not perfectly classified or categorized or or measured
      • Comment

        • Robinson contextualizes the empiricist project and gap thereof, as one of the 4 goals of Kant's Critique of Pure Reason.
        • Robinson informally calls this the "Locke" problem, after one of the founders of the Empiricist school, John Locke.
        • Robinson also alludes to a Thomas Reed approach to realism that contends that we don't experience reality MEDIATELY, but IMMEDIATELY, thereby eliminating the gap problem altogether.
        • It's interesting to see how modern biology views the empericist's knowledge gap, especially form the perspective of the Umwelt and Sensory Ecology
  2. Sep 2023
    1. Before Ruby 3.2, there core class Time provided no way to to get back a Time value from any serialization, including even simple Time#inspect or #to_s. The Time.parse provided by standard library time (not core functionality, doesn’t work with explicit require 'time'), and tries to parse every imaginable format, while Time.new with string is stricter.
    2. string ones are those most of the Rubyists remember.
    3. Low-level processing of strings (like networks middleware, or efficient search algorithms, or packing/unpacking) might need an ability to operate on a level of single bytes, regardless of original string’s encoding. It is especially important while handling variable-length encodings like UTF-8. Before methods introduction, the only way to perform byte-level processing was to forcing string encoding into ASCII-8BIT, process, and then force encoding back.
  3. Jun 2023
    1. Are protected members/fields really that bad? No. They are way, way worse. As soon as a member is more accessible than private, you are making guarantees to other classes about how that member will behave. Since a field is totally uncontrolled, putting it "out in the wild" opens your class and classes that inherit from or interact with your class to higher bug risk. There is no way to know when a field changes, no way to control who or what changes it. If now, or at some point in the future, any of your code ever depends on a field some certain value, you now have to add validity checks and fallback logic in case it's not the expected value - every place you use it. That's a huge amount of wasted effort when you could've just made it a damn property instead ;) The best way to share information with deriving classes is the read-only property: protected object MyProperty { get; } If you absolutely have to make it read/write, don't. If you really, really have to make it read-write, rethink your design. If you still need it to be read-write, apologize to your colleagues and don't do it again :) A lot of developers believe - and will tell you - that this is overly strict. And it's true that you can get by just fine without being this strict. But taking this approach will help you go from just getting by to remarkably robust software. You'll spend far less time fixing bugs.

      In other words, make the member variable itself private, but can be abstracted (and access provided) via public methods/properties

    1. I'm not saying never mark methods private. I'm saying the better rule of thumb is to "make methods protected unless there's a good reason not to".
    2. Marking methods protected by default is a mitigation for one of the major issues in modern SW development: failure of imagination.
    3. The old wisdom "mark it private unless you have a good reason not to" made sense in days when it was written, before open source dominated the developer library space and VCS/dependency mgmt. became hyper collaborative thanks to Github, Maven, etc. Back then there was also money to be made by constraining the way(s) in which a library could be utilized. I spent probably the first 8 or 9 years of my career strictly adhering to this "best practice". Today, I believe it to be bad advice. Sometimes there's a reasonable argument to mark a method private, or a class final but it's exceedingly rare, and even then it's probably not improving anything.
  4. Mar 2023
    1. Don’t let the perfect be the enemy of the good. Seat belts aren’t perfect either, do you argue we shouldn’t wear them? Etc, etc. This argument only works if what you’re defending is good. As I’ve already explained, SMS-2FA is not good.
  5. Feb 2023
    1. Result of lots of searching on net is that pre-checkout hook in git is not implemented yet. The reason can be: There is no practical use. I do have a case It can be achieved by any other means. Please tell me how? Its too difficult to implement. I don't think this is a valid reason
  6. Aug 2021
    1. If you dig into the details, you will see that the TypeScript team take breaking changes very seriously and with consideration.
    2. I think the TS team generally tries to minimize breaking changes from version to version and don't do so unless there is a good reason.
  7. Oct 2020
    1. Returns a Promise<?Object> that resolves with no value on success or resolves with an Object of submission errors on failure. The reason it resolves with errors is to leave rejection for when there is a server or communications error.
    1. Because the code in question predates the introduction of the guideline and there is no other reason to be modifying that code.
  8. Sep 2020
    1. Luckily, there is absolutely no good reason not to use strict mode for everything — so the solution to this problem is to lobby the authors of those modules to update them.
  9. Apr 2020
  10. Mar 2020
    1. the feature was dropped to “lack of use.”

      I don't find the reason "lack of use" sufficient in its own right. (I personally didn't use this feature.) People might not use it because they don't know about. And those that do use may find it extremely useful; it's not their fault if others don't know about it or use. It seems to discriminate a bit against the minority who may use a useful feature. They would rather be in the majority, safe from having one of their favorite features removed.

      But I do understand and appreciate the good explanation given below.

  11. Dec 2019