33 Matching Annotations
  1. Mar 2024
  2. Feb 2024
  3. Jan 2024
    1. we hear a lot 00:04:00 of these stories that 'We are nothing but' and so the question of what we are is important and fascinating, but it's not nearly as important as, "What do we do next?"

      for - question - what do we do next? - investigate - why "what do we do next?" is salient

    1. Instance methods Instances of Models are documents. Documents have many of their own built-in instance methods. We may also define our own custom document instance methods. // define a schema const animalSchema = new Schema({ name: String, type: String }, { // Assign a function to the "methods" object of our animalSchema through schema options. // By following this approach, there is no need to create a separate TS type to define the type of the instance functions. methods: { findSimilarTypes(cb) { return mongoose.model('Animal').find({ type: this.type }, cb); } } }); // Or, assign a function to the "methods" object of our animalSchema animalSchema.methods.findSimilarTypes = function(cb) { return mongoose.model('Animal').find({ type: this.type }, cb); }; Now all of our animal instances have a findSimilarTypes method available to them. const Animal = mongoose.model('Animal', animalSchema); const dog = new Animal({ type: 'dog' }); dog.findSimilarTypes((err, dogs) => { console.log(dogs); // woof }); Overwriting a default mongoose document method may lead to unpredictable results. See this for more details. The example above uses the Schema.methods object directly to save an instance method. You can also use the Schema.method() helper as described here. Do not declare methods using ES6 arrow functions (=>). Arrow functions explicitly prevent binding this, so your method will not have access to the document and the above examples will not work.

      Certainly! Let's break down the provided code snippets:

      1. What is it and why is it used?

      In Mongoose, a schema is a blueprint for defining the structure of documents within a collection. When you define a schema, you can also attach methods to it. These methods become instance methods, meaning they are available on the individual documents (instances) created from that schema.

      Instance methods are useful for encapsulating functionality related to a specific document or model instance. They allow you to define custom behavior that can be executed on a specific document. In the given example, the findSimilarTypes method is added to instances of the Animal model, making it easy to find other animals of the same type.

      2. Syntax:

      Using methods object directly in the schema options:

      javascript const animalSchema = new Schema( { name: String, type: String }, { methods: { findSimilarTypes(cb) { return mongoose.model('Animal').find({ type: this.type }, cb); } } } );

      Using methods object directly in the schema:

      javascript animalSchema.methods.findSimilarTypes = function(cb) { return mongoose.model('Animal').find({ type: this.type }, cb); };

      Using Schema.method() helper:

      javascript animalSchema.method('findSimilarTypes', function(cb) { return mongoose.model('Animal').find({ type: this.type }, cb); });

      3. Explanation in Simple Words with Examples:

      Why it's Used:

      Imagine you have a collection of animals in your database, and you want to find other animals of the same type. Instead of writing the same logic repeatedly, you can define a method that can be called on each animal instance to find similar types. This helps in keeping your code DRY (Don't Repeat Yourself) and makes it easier to maintain.

      Example:

      ```javascript const mongoose = require('mongoose'); const { Schema } = mongoose;

      // Define a schema with a custom instance method const animalSchema = new Schema({ name: String, type: String });

      // Add a custom instance method to find similar types animalSchema.methods.findSimilarTypes = function(cb) { return mongoose.model('Animal').find({ type: this.type }, cb); };

      // Create the Animal model using the schema const Animal = mongoose.model('Animal', animalSchema);

      // Create an instance of Animal const dog = new Animal({ type: 'dog', name: 'Buddy' });

      // Use the custom method to find similar types dog.findSimilarTypes((err, similarAnimals) => { console.log(similarAnimals); }); ```

      In this example, findSimilarTypes is a custom instance method added to the Animal schema. When you create an instance of the Animal model (e.g., a dog), you can then call findSimilarTypes on that instance to find other animals with the same type. The method uses the this.type property, which refers to the type of the current animal instance. This allows you to easily reuse the logic for finding similar types across different instances of the Animal model.

      Certainly! Let's go through each part and explain it in simple terms: ### 1. `this` in Mongoose: - **What is `this`?** In JavaScript, `this` refers to the current context or object. In Mongoose, particularly within methods and middleware functions, `this` represents the instance (document) the function is currently operating on. - **Why is it used?** `this` is used to access and modify the properties of the current document. For example, in a Mongoose method, `this` allows you to refer to the fields of the specific document the method is called on. ### 2. Example: Let's use the `userSchema.pre("save", ...)`, which is a Mongoose middleware, as an example: ```javascript userSchema.pre("save", async function (next) { if (!this.isModified("password")) { next(); } else { this.password = await bcrypt.hash(this.password, 10); next(); } }); ``` - **Explanation in Simple Words:** - Imagine you have a system where users can sign up and set their password. - Before saving a new user to the database, you want to ensure that the password is securely encrypted (hashed) using a library like `bcrypt`. - The `userSchema.pre("save", ...)` is a special function that runs automatically before saving a user to the database. - In this function: - `this.isModified("password")`: Checks if the password field of the current user has been changed. - If the password is not modified, it means the user is not updating their password, so it just moves on to the next operation (saving the user). - If the password is modified, it means a new password is set or the existing one is changed. In this case, it uses `bcrypt.hash` to encrypt (hash) the password before saving it to the database. - The use of `this` here is crucial because it allows you to refer to the specific user document that's being saved. It ensures that the correct password is hashed for the current user being processed. In summary, `this` in Mongoose is a way to refer to the current document or instance, and it's commonly used to access and modify the properties of that document, especially in middleware functions like the one demonstrated here for password encryption before saving to the database.

    Tags

    Annotators

    URL

  4. Dec 2023
    1. I think that we should be putting a high priority on developing the Next Generation nuclear 01:45:54 power uh but it's uh it's uh it's going to be a a tough job and as long as the as the special 01:46:05 interests are controlling our government uh we're not going to solve it
    1. “come back next year and try again”. My response is that it will be the same old thing – they’ve had 26 chances already. The planet can’t afford any more. I think the time for the Cop process is over. We just can’t keep kicking the can down the road.
      • for: quote - COP - Rupert Read, quote - COP - come back next year and try again, quote - alternative COP

      • quote

        • come back next year and try again
      • author: Rupert Read
      • date: Dec. 4, 2021

      • quote

        • We just can't keep kicking the can down the road
      • author: Rupert Read
      • date: Dec 4, 2021

      • comment

        • Well, COP28 is over and just as Rupert Read predicted above, we will
          • kick the can down the road again
          • come back next year and try again
        • It's a perpetual groundhog day, until it isn't
  5. Oct 2023
  6. May 2023
    1. The Analog system has a thin metal divider that separates two sections in the base. The broad suggestion is to use this space as storage and the divider for separating the blank stock of cards from used cards. One could also separate the next/someday cards from the today cards (new and finished).

      The divider serves as a tabbed divider in many systems, but here there are only a total of three slots for differentiation: one slot for one card with today's list, and two other spaces for other cards that the user can determine their uses for. This definitely makes the system incredibly simple and minimal.

      It's only slightly different from the old common Park Sherman Co. desk note pad systems which sometimes had a universal calendar and one tray space for notes.

    2. Though the Analog system clearly delineates cards of to do lists as "Today", "Next", "Someday", I've definitely seen this sort of delineation well before this system.

      What other systems explicitly use this framing or similar framings?

    3. While the today / next / someday cards are labeled, they're also color coded (white, light tan, tan) to help distinguish them.

      Though not defined in the Analog system, these differently colored cards could also be used to indicate different sorts of data, though one would need to potentially ignore the pre-printed labels of "Today", "Next", "Someday".

    4. The Analog system utilizes a simplified version of an Eisenhower matrix which we'll call "today / next / someday" as a means of prioritizing to do list items on a temporal basis.

  7. Apr 2023
    1. In 1971, his reputation was beginning its ascent when he was interviewed by The Ohio Review. He described what he felt after completing a poem:Well, after the brief, and I think normal, period of exhilaration, there is a let-down. What I’ve done is written another poem. And what I have to do is write another one.
  8. Jan 2023
    1. **Use Page Notes to add annotation guidance.

      INSTRUCTIONS - Make 5 new annotations using the prompts below and respond to 3 others. Use text, hashtags, emojis, and G-rated language. Be respectful always.

      PROMPTS - Annotate the text for each of the following: 1. Main claim, and why you think so. 2. Evidence that supports the claim and what additional information would make the evidence stronger. 3. Reasoning that connects the evidence to the claim (or if it's missing). 4. Something new or surprising you learned from this paper. 5. What could be the researchers' next experiment?


  9. Nov 2022
    1. def with_something prepare yield on_success end any return, break or throw would skip the on_success code. Skipping over the on_success code also seems quite reasonable when the block calls break and throw. It may not seem like the obvious behaviour for return, but perhaps it is a safe assumption to make in general to think of return as aborting the method yielding to the block. It might be desirable to discourage the use of return in this way for transactions to keep the code clearer, but that would also affect the use of break which seems like a reasonable way to abort a transaction from within the transaction block.
  10. Aug 2022
  11. Jul 2022
  12. Oct 2021
    1. The breakdown of water involves a rearrangement of the atoms in water molecules into different molecules,

      Why would hydrogen and oxygen need to be separated for?

  13. Jun 2021
    1. "Many North American music education programs exclude in vast numbers students who do not embody Euroamerican ideals. One way to begin making music education programs more socially just is to make them more inclusive. For that to happen, we need to develop programs that actively take the standpoint of the least advantaged, and work toward a common good that seeks to undermine hierarchies of advantage and disadvantage. And that, inturn, requires the ability to discuss race directly and meaningfully. Such discussions afford valuable opportunities to confront and evaluate the practical consequences of our actions as music educators. It is only through such conversations, Connell argues, that we come to understand “the real relationships and processes that generate advantage and disadvantage”(p. 125). Unfortunately, these are also conversations many white educators find uncomfortable and prefer to avoid."

  14. Mar 2021
    1. Alxemes jiy ñów la lekkool di ubbi.

      C'est jeudi prochain la rentrée des classes.

      alxemes -- (Arabic) Thursday.

      jiy -- (?).

      ñów v. -- to come, to arrive.

      la -- can mean a lot of different things depending on context.

      lekkool bi -- (French: l'école) school. 🏫

      di v. -- be; mark of the imperfective affirmative not inactual.

      ubbi v. -- open, to start, begin, inaugurate.

  15. Feb 2021
    1. bird counts across the United States have fallen a staggering 29 percent in the last 50 years

      29% in 50 years? That means in the next 50 years half of the bird population could decrease!

  16. Sep 2020
    1. I’ll replace Twitter with something else for a little while, and hopefully that’ll seem different.

      on Mastodon these days, it feels very similar. it's a much weaker carrier of memetic payloads, which has ups and downs. it's much more personal. there's an enormous amount of negativity & fear & loathing here, the walkaways it has attracted are often a rather cantankerous sort perhaps. but there are some very good people & very good happenings too. i don't see a whole lot of big picture or cerebral activity, these experiences i see all seem so near at hand, so local to these people, which is interesting but also often fairly boring.

      i look forward to us continuing to chase social. and it reconfirms my interest regularly in doing a better job of curating & surfacing & raising up the bigger bolder & more notable things, versus letting the big & weighty coexist unremarked amid the floofy or trashy whatever.

      oh and content warning are a surprisingly useful way to create & mark off the spaces where you are going to try to semi-safely produce hot takes & land blows. starting with a warning, setting some scope, is quite effective.

  17. Jul 2020
  18. Jun 2020
  19. Mar 2020
  20. Feb 2016
  21. Jan 2016
    1. It’s now up to us to choose who we want to be over the next 15 years and for decades to come.

      This line really drew me into the speech, making me feel like I was part of the decision.