35 Matching Annotations
  1. Nov 2023
    1. Yeah, I agree that lib (or app/lib
    2. The real fundamental problem is that lib is a kitchen sink
    3. Everything has a place so do better and find it. There is a certain belief that everything within app should be organized into functionally-named directories and any files placed in app/lib actually belongs in app/services or app/interactors or app/models or someplace if the developers just tried harder. The implication is that developers are bad developers if they don’t yet know what kind of constant they have and where its forever home should be. I reject this. Over the lifespan of an application, there will be constants that have not yet found their functional kin, if those kin ever come to exist at all; sometimes you simply need some code and a place to put it. app/lib can be the convention for where those constants can live temporarily or as long as necessary. Autoloading is really nice, let’s treat them to it.
  2. Aug 2022
    1. so almost paradoxically, projects might want to reduce liquidity for the sake of protecting governance.

      the same reversal can be found in the decreasing the value of an attack approach: incentives for an attack are aligned with the DAO success.

  3. Jun 2022
    1. The phrase "now you're coking with gas" was coined by American Gas Association publicist Carroll Everard "Deke" Houlgate. Deke's son indicated that his father "planted it with Bob Hope's writers" and it was ultimately used in one of his radio shows. From there it turned into one of his catchphrases and it was adopted by others including The Jack Benny Program and Maxwell House Coffee Time.

      Incidentally, Houlgate was also a football journalist who devised the first college football rankings methodology that determined the national champions from 1929 to 1958.

      Is this the same Houlgate, or perhaps his son who played for USC Trojans in the 1931 and 1932 Rose Bowl games?

      References: (see also and check...) - A Way With Words co-host Martha Barnette https://soundcloud.com/waywordradio/now-youre-cooking-with-gas

  4. Apr 2022
  5. Mar 2022
  6. Jul 2021
    1. You can do this elegantly with throw/catch, like this:
    2. In most languages, there is no clean equivalent for breaking out of a recursive algorithm that uses a recursive function. In Ruby, though, there is!
    3. it's much faster—the stack frame does not have to be carried along the "thrown symbol", and no object is created. Lightweight nonlinear flow control.
    4. Throw it's a more elegant way to use an exception-like system as a control flow.
  7. May 2021
    1. It's a chicken-and-egg-like problem: If we use module: 'commonjs', then if any TS files import ES Modules (indirectly in their dependency graph), then Node throws an error because CommonJS modules can not import ES Modules.
  8. Feb 2021
    1. Literally, everything in this example can go wrong. Here’s an incomplete list of all possible errors that might occur: Your network might be down, so request won’t happen at all The server might be down The server might be too busy and you will face a timeout The server might require an authentication API endpoint might not exist The user might not exist You might not have enough permissions to view it The server might fail with an internal error while processing your request The server might return an invalid or corrupted response The server might return invalid json, so the parsing will fail And the list goes on and on! There are so maybe potential problems with these three lines of code, that it is easier to say that it only accidentally works. And normally it fails with the exception.
    2. Exceptions are just like notorious goto statements that torn the fabric of our programs.
    1. As you can see, we end up with a lot of boilerplate if-statements. The code is more verbose. And it’s difficult to follow the main logic.
    2. In JavaScript, we have a built-in language feature for dealing with exceptions. We wrap problematic code in a try…catch statement. This lets us write the ‘happy path’ in the try section, and then deal with any exceptions in the catch section. And this is not a bad thing. It allows us to focus on the task at hand, without having to think about every possible error that might occur.
    3. And they are not the only way to handle errors.
    4. In this article, we’ll take a look at using the ‘Either monad’ as an alternative to try...catch.
    1. In the short term you may have the stamina to get up earlier, stay later, and out-work the demands you face. But the inverse equation of shrinking resources and increasing demands will eventually catch up to you, and at that point how you involve others sets the ceiling of your leadership impact.
  9. Jan 2021
    1. the behavior you want happen is actually a chicken and egg situation, you need to initialise FancyList in order to get the value for let:prop from the FancyList, however you can't initialise FancyList without the value of id which comes from within FancyList.
  10. May 2020
    1. Mozilla does not permit extensions distributed through https://addons.mozilla.org/ to load external scripts. Mozilla does allow extensions to be externally distributed, but https://addons.mozilla.org/ is how most people discover extensions. The are still concerns: Google and Microsoft do not grant permission for others to distribute their "widget" scripts. Google's and Microsoft's "widget" scripts are minified. This prevents Mozilla's reviewers from being able to easily evaluate the code that is being distributed. Mozilla can reject an extension for this. Even if an extension author self-distributes, Mozilla can request the source code for the extension and halt its distribution for the same reason.

      Maybe not technically a catch-22/chicken-and-egg problem, but what is a better name for this logical/dependency problem?

  11. Mar 2020
    1. To complicate things further, if you classify your social-sharing-plugins-usage as required functionality, and those need to set their own 3rd party cookies (as they themselves classify those as required), hello to 3rd party cookies being set by default and no way for users to opt-out (except by turning them off via browser, which means the whole thing is redundant, might as well just instruct users to disable third party cookies if they don't want to participate in social sharing crap?)
    1. Also note that the first two opt out tools are currently cookie-based and prevent Oracle from using, sharing, or selling your personal information for interest-based advertising on the browser on which they are installed. As a result, the opt out will only function if your browser is set to accept third-party cookies and may not function where cookies are sometimes automatically disabled or removed (e.g., certain mobile devices and operating systems). If you delete cookies, change your browser settings, switch browsers or computers, or use another operating system, you will need to opt out again. Oracle does not use persistent, unique identifiers to revive a previously opted-out profile or deleted cookie.
    1. Note that the scope of personal data is truly broad, which makes processing complex and tricky. So, even though, for instance, you employ anonymization in Google Analytics to get rid of all information that falls under this category, you’re still in a catch-22 situation. This is because GA stores a visitor online identifier in a cookie, and under the GDPR that file constitutes a piece of personal data. That means you still need to obtain consent from visitors to process their data.
  12. Jan 2020
    1. That's the problem with therapy: The people who really need help are often the onesnot trusting others (as a result of bad experiences)not recognizing they have a problem in the first placebeing too scared to open up (or leave the house)being too exhausted to goless likely to be able to afford it. (That's only an issue in countries without a proper health care system.)
  13. Dec 2016
  14. May 2015
    1. Fundamental questions for the library revolve around issues of: stewardship (what types of annotations are appropriate for library ownership, vs. say a course platform), persistence (how long should different types of annotations be persisted and preserved), costs (who will fund annotation storage over time) access (what privacy and distribution controls need to be placed on access to annotations.)