363 Matching Annotations
  1. Feb 2024
  2. Jan 2024
    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

  3. Dec 2023
    1. because the value isn't there yet. A promise is just a marker that it will be available at some point in the future. You cannot convert asynchronous code to synchronous, though. If you order a pizza, you get a receipt that tells you that you will have a pizza at some point in the future. You cannot treat that receipt as the pizza itself, though. When you get your number called you can "resolve" that receipt to a pizza. But what you're describing is trying to eat the receipt.
    1. Culturally, and throughout our global civilisation’s systems and structures, we systemically and continuously overemphasise the innovating-constructing-standardising Archetypal activities on the orange side of the Kairotic Flow cycle, while devaluing and avoiding the nurturing-decomposing-reorienting activities of the Archetypes on the purple side of the cycle.This might not sound like much, but the consequences are profound.
      • for: kariotic flow - metacrisis explanation, question - salience

      • question: salience

      • critique,: inadequate explanation
        • I don't understand the salience of why the right half needs that left half.
        • I think the ideas are too abstract and while years of experience may make the author familiar with our salience, to a new mind looking at the ideas for the first time, there is a salience mismatch because they semantic fingerprints are different
        • a few concrete examples of , how this works to explain the metacrisis would be very helpful
        • there isn't enough time spent illuminating and explaining what each of these 6b abstract ideas are our why they are assigned such strategic importance. Hence, I do not appreciate their salience and the salience mishmash occurs
  4. Nov 2023
    1. The first principle determined by Husserl (quoted in Villanueva, 2014) to approach subjectivity,is the epoché or placing in parentheses the supposition of the natural attitude, present in ourhabitual rapport to the world as in the science itself: the acknowledgement of the world assomething given or its facts, as a reality itself, existing beyond the consciousness that thinks,values or feels them
      • for: epoche - explanation

      • explanation

      • paraphrase
        • The first principle determined by Husserl (quoted in Villanueva, 2014) to approach subjectivity,is:the epoché, placing in parentheses the supposition of the natural attitude, present in our habitual rapport to the world.
        • For example, this natural attitude is found in the sciences
        • It is the acknowledgement of the world as something given or its facts, as a reality itself, existing beyond the consciousness that thinks, values or feels them.
        • In other words, "the epoché refers to the elimination of everything that limits us from perceiving things as such, since the natural attitude, due to its objective nature, prevents us from doing so.
        • To apply the epoché, refers, to abstain or to do without" (Villanueva, 2014, p.220).
        • This principle
          • does not imply questioning the world as if it existed,
          • nor does it reduce it to the thought of the subject.
        • On the contrary, it tries to stop thinking under these terms, with the objective of being able to observe the life of the consciousness that is behind the objects understood as given things: to approach how this represents them, the meaning it assumes for it.
        • In short, what original sense they possess or how they become objects of consciousness.
    2. In summary, phenomenology leads to finding the relationship between objectivity andsubjectivity, which is present in each instant of human experience. Transcendence is not reducedto the simple fact of knowing the stories or physical objects; on the contrary, it tries to understandthese stories from the perspective of values, norms and practices in general
      • for: phenomenology - explanation

      • comment

        • a good and simple explanation of phenomenology
      • explanation

        • In summary, phenomenology leads to finding the relationship between objectivity and subjectivity, which is present in each instant of human experience. Transcendence is not reduced to the simple fact of knowing the stories or physical objects; on the contrary, it tries to understand these stories from the perspective of values, norms and practices in general
      • comment

        • and also how we construct meaning then inhabit the meaningverse and symbolosphere
  5. 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
  6. Sep 2023
    1. Based on these studies, we initi-ated an effort to optimize novel mGlu5 PAMs that potentiatemGlu 5 -mediated Gaq signaling and calcium mobilization

      Statement on what they did. They are trying to optimize a novel PAM that well potentiate mGlu5 mediated Galpha-q signaling and Ca2+ mobilization. What they DONT want is a PAM that potentiates coupling of mGlu5 to modulation of NDMAr currents.

      Why dont they want this? The key point here is that they are trying to selectively enhance certain aspects of mGlu5 receptor function while avoiding the enhancement of its interaction with NMDAR currents. This suggests that there may be some undesired side effects or interactions when mGlu5 and NMDAR currents are potentiated together. By designing PAMs that specifically target one aspect of mGlu5 function (GaQ signaling and calcium mobilization) without affecting another (NMDAR currents), they hope to achieve a more targeted and potentially safer therapeutic effect.

    Tags

    Annotators

    1. While oversimplified, the core image of mind here is as a sort of internal outgrowth, responsible for cognitively traversing the subject-object gap and, as it were, acting as intermediator between two distinct domains.
      • for: explanation - Freud
      • explanation: Freud
      • paraphrase
        • Freud conceptualised our basic nature as
          • self-contained bundles of energy, born into a sort of introverted narcissism (the Id).
          • The development of the mind (the Ego) was a result of
            • the clash between the outward expressions of this energy (the drives) and
            • the world’s responses to them.
      • Psychological development was therefore a self-creative act, - shaped by the external world only in terms of necessary adaptation.
        • Freud saw the role of the other as largely limited to
          • external arbiter and enforcer of rules and regulations for behaviour.
        • While oversimplified, the core image of mind here is as
          • a sort of internal outgrowth, responsible for
            • cognitively traversing the subject-object gap and
            • acting as intermediator between two distinct domains.
    1. You can no longer create accounts with Yahoo domains other than "@yahoo.com",
    2. I'm curious: what is the reason for Yahoo discontinuing the "@ymail.com" domain?I'm aware that there's now a 2nd domain option available, "@myyahoo.com", and I recently took advantage of that to create a new address. But "@ymail.com" honestly looks more appealing to me than either of the "yahoo" iterations.
  7. Jun 2023
    1. ocates in about the nineteenth century a shift in European thought fromviewing same-sex sexuality as a matter of prohibited and isolated genitalacts (acts to which, in that view, anyone might be liable who did not havetheir appetites in general under close control) to viewing it as a function ofstable definitions of identity (so that one's personality structure mightmark one as a homosexual, even, perhaps, in the absence of any genitalactivity at all). T hus, according to Alan Bray, "To talk of an individual [inthe Renaissance] as being or not being 'a homosexual' is an anachronismand ruinously misleading,"14 whereas th�period stretching roughly '2._e_tween Wilde and Proust was prodigally productive of atte�E_ts to name,explain, and define.this new kind of creature, the homosexual person-aproject SO urgent tfiat It spawne in its rage of distinction- ane�en ne�rcategory, that of the heterosexual persoriJ 5

      Foucault and other historians point out a change in European thinking during the 19th century regarding same-sex sexuality. Previously, it was seen as a matter of prohibited acts, where anyone who didn't have strict control over their desires could engage in such acts. However, a shift occurred where same-sex sexuality came to be seen as part of a person's identity. This means that one's personality traits or characteristics could identify them as a homosexual, even if they didn't engage in any sexual activity. In contrast, during the period from Wilde to Proust, there was a strong desire to name, explain, and define this new category of individuals, the homosexual person. This urgency to distinguish and define led to the emergence of another category, that of the heterosexual person.

  8. Apr 2023
    1. It seems like the neuron basically adds the embedding of “ an” to the residual stream, which increases the output probability for “ an” since the unembedding step consists of taking the dot product of the final residual with each token2.

      This cleared the dust from my eyes in understanding what the MLP layer does

  9. 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.
  10. 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
    1. The variable x initially has the type unknown: the type of all values. The predicate typeof x === "number" extracts dynamic information about the value bound to x, but the type-checker can exploit this information for static reasoning. In the body of the if statement the predicate is assumed to be true; therefore, it must be the case the value bound to x is a number. TypeScript exploits this information and narrows the type of x from unknown to number in the body of if statement.
  11. Jan 2023
    1. because most languages treat strings as immutable, which helps ensure you don't accidentally modify them and can improve performance. Fewer state changes in a program mean less complexity. It's better to opt-in to mutability after careful consideration rather than making everything mutable by default. What is immutability and why should I worry about it? may help.
    1. One of the main features of the high level architecture of a transformer is that each layer adds its results into what we call the “residual stream.”Constructing models with a residual stream traces back to early work by the Schmidhuber group, such as highway networks  and LSTMs, which have found significant modern success in the more recent residual network architecture . In transformers, the residual stream vectors are often called the “embedding.” We prefer the residual stream terminology, both because it emphasizes the residual nature (which we believe to be important) and also because we believe the residual stream often dedicates subspaces to tokens other than the present token, breaking the intuitions the embedding terminology suggests. The residual stream is simply the sum of the output of all the previous layers and the original embedding. We generally think of the residual stream as a communication channel, since it doesn't do any processing itself and all layers communicate through it.
    2. A transformer starts with a token embedding, followed by a series of “residual blocks”, and finally a token unembedding. Each residual block consists of an attention layer, followed by an MLP layer. Both the attention and MLP layers each “read” their input from the residual stream (by performing a linear projection), and then “write” their result to the residual stream by adding a linear projection back in. Each attention layer consists of multiple heads, which operate in parallel.
    1. CREATE INDEX Statement

      ABOUT INDEXES *indexes can make queries faster, much like looking for a term in the index of a textbook instead of skimming through all the pages in the book to find all the references to the term. However, indexes take storage space and the DBMS must maintain the index as rows are inserted, updated and deleted in the table.

    2. SELECT HORSE_ID, SUM(PURSE), COUNT(*) AS NUM_RACES FROM RACE_RESULT GROUP BY HORSE_ID;

      okay what i'm missing here is that the race_result table I think groups rows by race, not by horse. So each horse can have multiple races.

      The above statements asks the dbms to find each race (row) with a specific horse_id, and then average certain column values from all the rows corresponding to the same horse_id. The average is then to be output as a new row containing a single horse id, the sum of that horses earnings across all race rows, the COUNT(*) statement is then used to count how many rows in the horse table had a specific horse id.So really the query is requesting a table with

      horse_id | (earnings sum from race_result rows with horse_id) | (number of race result rows featuring horse_id)

    3. SUM(PURSE), COUNT(*) AS NUM_RACES

      IMPORTANT!! : The group by clause is needed here because unlike in previous queries, we aren't simply taking a value in a prexisting table and adding it to a smaller table using the SELECT clause. We are using functions to create entirely new values. These values dont exist as part of the table, they kinda just float. Because these are floating unindexed values, the group by clause is needed to indicate how these new values should be presented in the output table for the query

    4. An inner join is best thought of as an exclusive join because the result set includes only rows where matches were found in both tables (unmatched rows are excluded from the results)

      TLDR inner join = exclusive to matches in both tables * Any row from the key table which has a value that is omitted from the key column (Horse table has key columns of sire_id and dam_id) is exlcuded from the final result. So if horse_id_x has a null value for its sire or dam id, then any information about the row corresponding to horse_id_X is entirely ommitted from the final result of the joined table.

  12. Dec 2022
    1. But anti- spam software often fetches all resources in mail header fields automatically, without any action by the user, and there is no mechanical way for a sender to tell whether a request was made automatically by anti-spam software or manually requested by a user. To prevent accidental unsubscriptions, senders return landing pages with a confirmation step to finish the unsubscribe request. A live user would recognize and act on this confirmation step, but an automated system would not. That makes the unsubscription process more complex than a single click.

      HTTP: method: safe methods: GETs have to be safe, just in case a machine crawls it.

  13. Nov 2022
    1. For example, if I make an application (Client) that allows a user (Resource Owner) to make notes and save them as a repo in their GitHub account (Resource Server), then my application will need to access their GitHub data. It's not secure for the user to directly supply their GitHub username and password to my application and grant full access to the entire account. Instead, using OAuth 2.0, they can go through an authorization flow that will grant limited access to some resources based on a scope, and I will never have access to any other data or their password.
    1. This occurs for the child processes, where the entry is still needed to allow the parent process to read its child's exit status: once the exit status is read via the wait system call, the zombie's entry is removed from the process table and it is said to be "reaped".
  14. Oct 2022
    1. The problem is that the caller may write yield instead of block.call. The code I have given is possible caller's code. Extended method definition in my library can be simplified to my code above. Client provides block passed to define_method (body of a method), so he/she can write there anything. Especially yield. I can write in documentation that yield simply does not work, but I am trying to avoid that, and make my library 100% compatible with Ruby (alow to use any language syntax, not only a subset).

      An understandable concern/desire: compatibility

      Added new tag for this: allowing full syntax to be used, not just subset

    1. The Ruby on Rails framework provides a builtin server tool, which you can access with the rails server command. The "rails server" is not an application server by itself, but just a small wrapper that launches your application in an application server. This is why people do not use "rails server" in production. They use an application server – such as Passenger – directly. "rails server" uses Puma by default as of Rails 5.
    1. historical tapestry includes threads of

      This means that many social and historical phenomena, such as the Great Migration of African Americans from South to North, etc. have contributed to the formation of the Near East community in Columbus.

  15. Sep 2022
    1. Such schemas cannot easily be refactored without removing the benefits of sharing. Refactoring would require forking a local copy, which for schemas intended to be treated as an opaque validation interface with internal details that may change, eliminates the benefit of referencing a separately maintained schema in the first place.
    2. This means that when considering the "unevaluatedProperties": false in the root schema, "wheels" has not been evaluated, so unevaluatedProperties applies to it, and therefore validation fails because the false subschema fails by definition against any instance.
    3. This is a distillation of the results of 230+ comments on #515, not to mention the 300+ comments spread across several other older issues that fed into that one. I know it's long. Please don't complain unless you can offer a shorter write-up. :-)
    1. JSON Schema allows for additionalProperties both a boolean or an object value. true is interpreted as "additional properties follow no restrictions", false means "no additional restrictions", and an object is interpreted as a JSON schema applied to the property values (the empty object is thus equivalent to true).
    1. Now, the progression of NLP, as discussed, tells a story. We begin with tokens and then build representations of these tokens. We use these representations to find similarities between tokens and embed them in a high-dimensional space. The same embeddings are also passed into sequential models that can process sequential data. Those models are used to build context and, through an ingenious way, attend to parts of the input sentence that are useful to the output sentence in translation.
    2. Data, matrix multiplications, repeated and scaled with non-linear switches. Maybe that simplifies things a lot, but even today, most architectures boil down to these principles. Even the most complex systems, ideas, and papers can be boiled down to just that:
  16. Aug 2022
  17. Jun 2022
    1. The major issue with much of the data that can be downloaded from web portals or through APIs is that they come without context or metadata. If you are lucky you might get a paragraph about where the data are from or a data dictionary that describes what each column in a particular spreadsheet means. But more often than not, you get something that looks like figure 6.3.

      I think that the reason behind data's lack of context is the reluctance in making extra column for data's description and the inconsiderate and misleading vision that those in technologies hold when they put forth that data should be clean and concise.

      I encountered the insufficient provision of data multiple times and I found it extremely inconvenient when trying to use downloaded online reports and attached them to my work experiences as a way to illustrate the efficient changes in driving audiences for a social media platform (Facebook). I used to help run an facebook page for a student organization. After being done with the role, I went to the "Insights" section of Facebook, hoping to download the report of increases in Page Likes, Visits, and Interactions during the period that I was an admin of the page. It took me several glitches to download the report (because it was a year-long term). When the pdf file was ready to be viewed, I was surprised, because they did not mention the years I was working, the name of the student organization, and other categorizations that should have been highlighted. Apparently, it's not hard to include the years or even the name because they were included in the filter when I wanted to extract certain part of the report and because it was the source where they took the data from, respectively. This laziness in showing competent data for analysis was desperate, and I had to add extra analysis to it. Even after I finished with the "extra work", I started to question to validity of the report I was downloading. Would it be trustworthy anymore, because without my clarification, no analysis could be made even by a person involved in data science field. Even if they could, it would take them a while to collect other external information before making clear of the data presented to them.

      Understanding and constantly being bothered by this ongoing problem gives me justification to call for a more thorough data translation and presentation process. More questions should be raised and answered regarding what might a user wonder about this dataset when encountering it.

    1. The dominant idea is one of attention, by which a representation at a position is computed as a weighted combination of representations from other positions. A common self-supervision objective in a transformer model is to mask out occasional words in a text. The model works out what word used to be there. It does this by calculating from each word position (including mask positions) vectors that represent a query, key, and value at that position. The query at a position is compared with the value at every position to calculate how much attention to pay to each position; based on this, a weighted average of the values at all positions is calculated. This operation is repeated many times at each level of the transformer neural net, and the resulting value is further manipulated through a fully connected neural net layer and through use of normalization layers and residual connections to produce a new vector for each word. This whole process is repeated many times, giving extra layers of depth to the transformer neural net. At the end, the representation above a mask position should capture the word that was there in the original text: for instance, committee as illustrated in Figure 1.
    1. This trick of using a one-hot vector to pull out a particular row of a matrix is at the core of how transformers work.

      Matrix multiplication as table lookup

    1. The ORDER BY clause can only be applied after the DISTINCT has been applied. Since only the fields in the SELECT statement are taken into consideration for the DISTINCT operations, those are the only fields may be used in the ORDER BY.
  18. Apr 2022
    1. The backslash character does not concatenate any strings. It prevents the line-break from meaning that those two lines are different statements. Think of the backslash as the opposite of the semicolon. The semicolon lets two statements occupy one line; the backslash lets one statement occupy two lines.
    1. Think the mere existence of a file is effectively like writing a require call for them, which is executed on demand (autoload) or upfront (eager load).
    1. Example 1. For example, suppose that the input volume has size [32x32x3], (e.g. an RGB CIFAR-10 image). If the receptive field (or the filter size) is 5x5, then each neuron in the Conv Layer will have weights to a [5x5x3] region in the input volume, for a total of 5*5*3 = 75 weights (and +1 bias parameter). Notice that the extent of the connectivity along the depth axis must be 3, since this is the depth of the input volume. Example 2. Suppose an input volume had size [16x16x20]. Then using an example receptive field size of 3x3, every neuron in the Conv Layer would now have a total of 3*3*20 = 180 connections to the input volume. Notice that, again, the connectivity is local in 2D space (e.g. 3x3), but full along the input depth (20).

      These two examples are the first two layers of Andrej Karpathy's wonderful working ConvNetJS CIFAR-10 demo here

    1. input (32x32x3)max activation: 0.5, min: -0.5max gradient: 1.08696, min: -1.53051Activations:Activation Gradients:Weights:Weight Gradients:conv (32x32x16)filter size 5x5x3, stride 1max activation: 3.75919, min: -4.48241max gradient: 0.36571, min: -0.33032parameters: 16x5x5x3+16 = 1216

      The dimensions of these first two layers are explained here

    1. Here the lower level layers are frozen and are not trained, only the new classification head will update itself to learn from the features provided from the pre-trained chopped up model on the left.
    1. infer is there to say you know you are declaring a new type (in the conditional type's scope) - much like you have to write var, let or const to tell the compiler you know you're declaring a new variable.
  19. Feb 2022
    1. பல கலாச்சாரங்களில் உயிர்களின் படைப்பு பெரும் பிரளயத்திலிருந்து தொடங்குவதாகச் சொல்லப்படும் படிமத்தையும், பருவநிலை மாற்றத்தில் எழும் அழிவு வெள்ளத்தையும், புராணங்களிலிருந்து மேற்கோள் காட்டி, ஒரு சுழற்சியில் இணைக்கிறது நாவல்.

      Example for படிமம் in novel writing

  20. Jan 2022
    1. FORBIDDEN: Status code (403) indicating the server understood the request but refused to fulfill it. User/agent known by the server but has insufficient credentials. Repeating request will not work, unless credentials changed, which is very unlikely in a short time span.
    2. This may be because it is known that no level of authentication is sufficient (for instance because of an IP blacklist), but it may be because the user is already authenticated and does not have authority.
    3. There's a problem with 401 Unauthorized, the HTTP status code for authentication errors. And that’s just it: it’s for authentication, not authorization. Receiving a 401 response is the server telling you, “you aren’t authenticated–either not authenticated at all or authenticated incorrectly–but please reauthenticate and try again.” To help you out, it will always include a WWW-Authenticate header that describes how to authenticate.
    4. So, for authorization I use the 403 Forbidden response. It’s permanent, it’s tied to my application logic, and it’s a more concrete response than a 401. Receiving a 403 response is the server telling you, “I’m sorry. I know who you are–I believe who you say you are–but you just don’t have permission to access this resource. Maybe if you ask the system administrator nicely, you’ll get permission. But please don’t bother me again until your predicament changes.”
    5. UNAUTHORIZED: Status code (401) indicating that the request requires authentication, usually this means user needs to be logged-in (session). User/agent unknown by the server. Can repeat with other credentials. NOTE: This is confusing as this should have been named 'unauthenticated' instead of 'unauthorized'.
    6. +----------------------- | RESOURCE EXISTS ? (if private it is often checked AFTER auth check) +----------------------- | | NO | v YES v +----------------------- 404 | IS LOGGED-IN ? (authenticated, aka user session) or +----------------------- 401 | | 403 NO | | YES 3xx v v 401 +----------------------- (404 no reveal) | CAN ACCESS RESOURCE ? (permission, authorized, ...) or +----------------------- redirect | | to login NO | | YES | | v v 403 OK 200, redirect, ... (or 404: no reveal) (or 404: resource does not exist if private) (or 3xx: redirection)
    1. greedy search (i.e., at each step find the next most influentialattribute for this image, given the subset of attributes selectedso far; halt once the classifier has flipped its classification).We can then visualize the effect of modifying this subset.We refer to this as Subset selection
    2. The simplest is to iterate over StylExattributes, calculate the effect of changing each on the classi-fier output for this image, and return the top-k of these. Wecan then visualize the resulting k modified images. We referto this strategy as Independent selection.
    3. counterfactual example,i.e., visualizing how manipulation of this attribute (style coordinate) affects the classifier output probability.
    1. The intended behavior for the code snippet above is to reactively update b when a changes allows b temporarily go "out-of-sync" of a when calling update, setting b to 42 in this case, b is not always a * 2 however, if a changes again, b will be updated back to a * 2, instead of staying at 42
    1. When you give an element a width of 100% in CSS, you’re basically saying “Make this element’s content area exactly equal to the explicit width of its parent — but only if its parent has an explicit width.” So, if you have a parent container that’s 400px wide, a child element given a width of 100% will also be 400px wide, and will still be subject to margins, paddings, and borders — on top of the 100% width setting.
    1. When you initially logon with OAuth2, you will be redirect to Google’s sign-in page,. Once you have signed in, Google issues you a special OAuth2 token which is saved in Thunderbird and can be seen in the same place as passwords. So when you next logon to gmail, it is using that unique OAuth ID instead of password.
  21. Dec 2021
  22. Nov 2021
    1. The selective-second-order-with-skips model is a useful way to think about what transformers do, at least in the decoder side. It captures, to a first approximation, what generative language models like OpenAI's GPT-3 are doing.
    1. In your Svelte component, you can then use your store with the special $ prefix syntax, to access the value of the store ('cause the temperature variable is a reference to the store itself, it's just a mean to our end, the result we need is the value):
    2. Stores are essentially some kind of simplified streams (or Observable as they're called in ES), that is they represent a value over time.
    3. Stores are the idiomatic Svelte way when you need to import "reactivity" from your normal JS sources.
    1. It might be confusing that a union of types appears to have the intersection of those types’ properties.
    1. igure 18.7

      Dès qu'il y a 5 waves, elles sont dans la direction de la wave une échelle au-dessus, ce qui dans notre cas est descendant, d'où la (1),(2),(3),(4),(5) descendant ici !

    2. gure 8.19

      The histogram in the MACD window (window above the MACD histogram window) and the histogram in the MACD histogram window are the same histogram, just with a different scaling !

    Tags

    Annotators

    1. Calling a software convention "pretty 90s" somewhat undermines your position. Quite a lot of well-designed software components are older than that. If something is problematic, it would be more useful to argue its faults. When someone cites age to justify change, I usually find that they're inexperienced and don't fully understand the issues or how their proposed change would impact other people.
    1. why is Session not assignable to WithAdditionalParams<Session>? Well, the type WithAdditionalParams<Session> is a subtype of Session with includes a string index signature whose properties are of type unknown. (This is what Record<string, unknown> means.) Since Session does not have an index signature, the compiler does not consider WithAdditionalParams<Session> assignable to Session.
  23. Oct 2021
    1. diagonally. As a consequence, Fibonacci channel expansions will yield dif-ferent results depending on the type of scaling used on the charts.

      diagonal -> time effect -> depends on scaling of the chart

    2. Figure 10.51

      SEE paper version !

    3. Figure 10.36
      • Avec l'échelle linéaire, deux graduations dont la différence vaut 10 sont à distance constante.
      • Avec l'échelle logarithmique, deux graduations dont le rapport vaut 10 sont à distance constante
    4. even though both approaches will give the same results

      cf. Fig. 10.28 où comme on a la même longueur en partant de B avec la projection que le segment AB, on peut alors partir de A ou de B. Par convention, pour les upside expansions, on part du trough, à savoir A.

    5. Figure 10.9

      CAREFUL :

      • Arrow going up is an extension
      • Arrow going down is an expansion

      => this is why they previously defined an expansion as an extension in the opposite direction

    6. Figure 9.63

      The MACD is the full line indicated on the chart, its signal line is the dotted line on the chart below the price chart, and the difference between the MACD and its signal line is the MACD histogram ! Note also that the MACD is the difference between the two lines on the price chart

    7. detrending is the MACD

      constructed by substracting the 26-period EMA from the 12-period EMA.

    8. RS
    9. ignal line.

      A signal line is a smoothed version of the original oscillator, that is, it is a moving average of the original oscillator values. As such, it will lag the original oscillator action. Signals are indicated as follows: ■ Oscillator crossing above its signal line is a buy (bullish) signal ■ Oscillator crossing below its signal line is a sell (bearish) signal

    10. applying numerically based overlay indicators to window oscillators

      C-à-d qu'on fait du chartisme sur des indicateurs window !

    11. We also see a projected channel bottom buy signal

      C'est-à-dire n channel dont la partie basse est à moitié (coef directeur) construite par projection de la partie supérieure qui elle a 2 points.

    12. Signals are indicated as follow

      cf. version papier annotée. On remarque que les reverse bullish ne sont valables que parce qu'il s'agit de troughs, si c'était des peaks, on aurait du bearish !

    13. Classification of Technical Indicators

      Window oscillators : oscillateurs qu'on trace dans une fenêtre à part.

      Overlay oscillators : oscillateurs qu'on trace sur le graphe du prix directement

    14. Inside bars

      En fait, inside bar c'est quand la première bougie "contient" les suivantes alors que outside bar c'est quand le dernière bougie contient les précédentes.

    15. the hAndbook of technIcAl AnAlysIs224inside Bars
    16. Bullish Key Reversal Day on the Daily Chart of Apple

      on n'a que des bougies où l'ouverture est plus haute que la fermeture, et la key reversal bar est celle où l'ouvereture est plus basse que le fermeture (d'où le nom de reversal bar, car l'ouverture se trouve "à la place" de la fermeture !)

    17. We shall now look at various generic bullish and bearish formations

      En bourse, sur une valeur ou un indice, on parle de « gap » quand le cours d'ouverture est plus haut, ou plus bas, que tous les cours du jour de cotation précédent. Si la valeur d'ouverture est inférieure à la valeur la plus faible atteinte le précédent jour de cotation, on parle de « gap baissier ». Si la valeur d'ouverture est supérieure à la valeur la plus élevée atteinte le précédent jour de cotation, on parle de « gap haussier ».

      Par exemple, si une valeur possède un cours compris entre 10 et 12 un jour donné, si le jour de cotation suivant la valeur ouvre avec un cours de 9 on parlera de gap baissier, si elle ouvre avec un cours de 13 on parlera d'un gap haussier.

      Une règle d'analyse technique affirme que les gaps sont comblés. C'est-à-dire que, en cas de gap baissier, la valeur remontera au moins à la valeur la plus faible atteinte le jour de cotation précédent le gap. Dans notre exemple de gap baissier, il s'agirait de 10.

      De même, la règle affirme qu'en cas de gap haussier, la valeur baissera en séance au moins à la valeur la plus haute atteinte le jour de cotation précédent le gap. Dans notre exemple de gap haussier il s'agirait de 12.

      Il existe un certain nombre de cas de gap qui n'ont jamais été comblés et pour lesquels le comblement est assez improbable

    18. onstruction of a Price Bar

      Open : petit tiret à gauche de la barre Close : petit tiret à droite de la barre

    19. Intrinsic

      Intrinsic in the sense of chap. 4

      E.g. a head and shoulder pattern is bearish intrinsically, but it can happen in an uptrend and in this case, intrinsic sentiment and the trend disagree !

    20. Price Barrier

      Normalement, dans la figure avec le support 1, on aurait dû casser ce support car on avait du volume pour confirmer la downtrend. Similairement pour la resistance 1. Low volume in the two lower charts are less reliable since it is mainly due to a lack of interest of the market participants.

    21. Low Volume–Based Reversals on the Daily Chart

      Revoir les conditions de trend change avec le volume !! cf. page 113 Figure 4.6 avec le trend exhaustion

    22. Volume Confirming a Preexisting Trend

      Dans le premier graphique on a du decreasing volume car il s'agit d'un retracement/correction dans un marché bull. Si à l'inverse c'était un marché bear comme dans le 2e graphique, alors au contraire il y aurait un increasing volume. C'est d'ailleurs ce qu'on voit dans le deuxième graphique.

    23. open interest

      Open interest is the total number of outstanding derivative contracts, such as options or futures that have not been settled.

      Open interest equals the total number of bought or sold contracts, not the total of both added together.

      Increasing open interest represents new or additional money coming into the market while decreasing open interest indicates money flowing out of the market.

    24. 5.9 trenD DireCtionaLity

      ???

    25. ing limits the losses in either scenario by allocating a fixed percentage of original capital to narrow stops and a fixed percentage of current capital for stopsizes that exceed a fixed threshold size. The procedure for determining the proportional tradesize is as follows: 1. Do a backtest to find the average stopsize for at least 300 to 500 trades (if possible). 2. Calculate the two standard deviation value based on all the stopsizes in the sample. 3. Add this two‐standard deviation value to the average stopsize (this represents the proportional stopsize). 4. Determine the maximum percentage of current capital to risk for each trade and calculate its corresponding dollar value risk per trade. 5. Divide this dollar value risk per trade by the proportional stopsize (this repre-sents your proportional tradesize).Therefore, the trader would initiate trades based on the proportional trade-size for all trades where the stopsize is at or below the proportional stopsize. For stopsizes that exceed the proportional stopsize, calculate the tradesize by sim-ply dividing the maximum dollar value risk per trade by the stopsize. The term proportional refers to the percentage risk allocated per trade that is initiated for entries with stopsizes at or below the proportional stopsize. For such entries, the percentage of risk will vary proportionally with the stopsize, where the maxi-mum risk will always be capped at the maximum percentage risk per trade. For a more detailed description of the tradesizing issues that plague traders, refer to Chapter 28

      ???

    26. wing points and barrier strength

      ???

    27. Completion of the Average Period Range: One of the most reliable charac-teristics of price activity lies with its average period range, with the period being any chosen duration of observation. For example, let us assume that the average daily range of a certain FOREX pair is 120 pips per day. This would essentially mean that any price activity beyond this average range in either direction prior to the completion of the trading day will be regarded as a po-tential sign of exhaustion and a reversal may be expected. It is important to note that these averages period ranges may also be associated with underlying wave cycles in the market. Once the average range is breached prematurely, the practitioner begins to look for various signs of a reversal, paying special attention to supportive and resistive confluences. The average period range may be obtained via either of the following approaches: ■ The use of the average true range indicator (ATR) set to a reasonable look-back period on an interval chart of interest. ■ By finding the 2 standard deviation value of bar range over a certain number of periods.The practitioner should conduct a simple backtest to find the most reli-able lookback period for each of the above approaches. Note that with the latter approach, ninety percent of the period ranges will remain below the calculated value, the breach of which represents a greater degree of overex-tension or exhaustion

      ???

    28. Decreasing Cycle Amplitudes in an Uptrend Is Bearish

      See graph in the paper version to get counter example of increasing cycle amplitudes

    29. Phase‐Based Charts Patterns.

      Distribution and accumulation are in the reversal section since they are inherently reversal patterns. What I mean is that a distribution phase is defined by a crash after the said distribution phase. Similarly for accumulation, there is a rise after.

    30. give earlier trend change signals

      Uptrend lines are violated sooner since logarithm tends to rapprocher les points éloignés arithmétiquement (de manière non linéaire, d'où la cassure de la ligne de tendance plus tôt)

    31. Conflicting Chart Pattern Signals.

      LS : Left Shoulder H : Head RS1 : Right Shoulder 1

    Tags

    Annotators

    1. This function allows you to modify (or replace) a fetch request for an external resource that happens inside a load function that runs on the server (or during pre-rendering). For example, your load function might make a request to a public URL like https://api.yourapp.com when the user performs a client-side navigation to the respective page, but during SSR it might make sense to hit the API directly (bypassing whatever proxies and load balancers sit between it and the public internet).
  24. Sep 2021
    1. When we describe a language as type-checked, we mean that the language won't let you perform operations invalid for the type. Neither statically nor dynamically typed languages will let you multiply strings together, call a number in the place of a function, etc. A language without type checking would let you do all of those things without complaint.
    1. TypeScript is an extension of JavaScript. You can think of it as JavaScript with a few extra features. These features are largely focused on defining the type and shape of JavaScript objects. It requires that you be declarative about the code you're writing and have an understanding of the values your functions, variables, and objects are expecting.While it requires more code, TypeScript is a fantastic means of catching common JavaScript bugs while in development. And for just that reason, it's worth the extra characters.
    1. It is advised to inline any css @import in component's style tag before it hits css-loader. This ensures equal css behavior when using HMR with emitCss: false and production.
    2. Webpack's resolve.mainFields option determines which fields in package.json are used to resolve identifiers. If you're using Svelte components installed from npm, you should specify this option so that your app can use the original component source code, rather than consuming the already-compiled version (which is less efficient).
    1. The important thing to understand is that there is no such thing as a class method in Ruby. A class method is really just a singleton method. There is nothing special about class methods. Every object can have singleton methods. We just call them "class methods" when the object is a Class because "singleton method of an instance of Class" is too long and unwieldy.
  25. Aug 2021
    1. function strictIsDog<T extends Dog extends T ? unknown : never>( // like <T super Dog> candidate: Dog | T // if Dog extends T then Dog | T is T ): candidate is Dog { // compiler recognizes that Dog | T can narrow to T return "bark" in candidate; } if (strictIsDog(animal)) {} // okay if (strictIsDog(dog)) {} // okay if (strictIsDog(mixed)) {} // okay if (strictIsDog(cat)) {} // error! // ~~~ <-- Cat is not assignable to Dog
    2. thank you again for taking the time to explain how the compiler thinks in such an elaborate way. This is some blog post material!
    1. Isolation ensures that concurrent execution of transactions leaves the database in the same state that would have been obtained if the transactions were executed sequentially
    1. If you extend a method to accept keyword arguments, the method may have incompatibility as follows: # If a method accepts rest argument and no `**nil` def foo(*args) p args end # Passing keywords are converted to a Hash object (even in Ruby 3.0) foo(k: 1) #=> [{:k=>1}] # If the method is extended to accept a keyword def foo(*args, mode: false) p args end # The existing call may break foo(k: 1) #=> ArgumentError: unknown keyword k
  26. Jul 2021
    1. In the language of Interpretable Machine Learning (IML) literature like Molnar et al.[20], input saliency is a method that explains individual predictions.
    1. The difference between PUT and POST is that PUT is idempotent: calling it once or several times successively has the same effect (that is no side effect), whereas successive identical POST requests may have additional effects, akin to placing an order several times.
    1. Vectors with a small Euclidean distance from one another are located in the same region of a vector space. Vectors with a high cosine similarity are located in the same general direction from the origin.
  27. Jun 2021
  28. May 2021
    1. Why are there so many programming languages and frameworks? Everyone has their own opinion on how something should be done. Some of these systems, like AOL, Yahoo, etc... have been around for a decade, and probably not updated much.
    2. Simple fact is that HTML support is different in them because mail clients are so old, or others are allowed to operate in browsers where not all CSS or even HTML can be applied in a secure manner. Older clients have outdated browsers that you'll likely NEVER see brought up to standards; what with Opera's standalone aging like milk, and thunderbird lagging behind the firefox on which it's even built. Don't even get me STARTED on older clients like Eudora or Outlook.
  29. Apr 2021
    1. >(...) starts the process ... and returns a file representing its standard input. exec &> ... redirects both standard output and standard error into ... for the remainder of the script (use just exec > ... for stdout only). tee -a appends its standard input to the file, and also prints it to the screen.
    1. Why your original solution does not work: exec 2>&1 will redirect the standard error output to the standard output of your shell, which, if you run your script from the console, will be your console. the pipe redirection on commands will only redirect the standart output of the command.
    1. It should be defined inline. If you are using the img tag, that image should have semantic value to the content, which is why the alt attribute is required for validation. If the image is to be part of the layout or template, you should use a tag other than the img tag and assign the image as a CSS background to the element. In this case, the image has no semantic meaning and therefore doesn't require the alt attribute. I'm fairly certain that most screen readers would not even know that a CSS image exists.

      I believed this when I first read it, but changed my mind when I read this good rebuttal: https://hyp.is/f1ndKJ5eEeu_IBtubiLybA/stackoverflow.com/questions/640190/image-width-height-as-an-attribute-or-in-css

    2. Ah yes, excactly the right answer. Img tags are for information, css backgrounds are for layout.
    1. is a mechanism designed for creating an external host for character-mode subsystem activities that replace the user interactivity portion of the default console host window

      My paraphrase: A pseudoterminal replaces (fakes/pretends to be?) the user interactivity portion.

    1. Yet, in all these instances, life offers no crystal ball; there's no way of knowing what the future holds, or to be cognizant of something we are unaware of. This is the essence of "You don't know what you don't know," only it's being expressed in a comical way
    1. It's simple really ... put tests into a shared example that you want multiple things to conform to. Put code into a shared context that you need to include in multiple tests.
    2. shared_contexts is any setup code that you can use to prepare a test case . This allows you to include test helper methods or prepare for the tests to run.
    1. Why interactive explanations? I find that I learn best when combining the language side of my brain (reading, formulas) with the visual side of my brain (illustrations, interaction). I want to learn not only by reading something or watching something, but by playing with it. I’m mostly focused on small, self-contained articles, but I’m also interested in interactive textbooks.
  30. Mar 2021
    1. The reason Final Form does this is so that pristine will be true if you start with an uninitialized form field (i.e. value === undefined), type into it (pristine is now false), and then empty the form field. In this case, pristine should return to true, but the value that the HTML DOM gives for that input is ''. If Final Form did not treat '' and undefined as the same, any field that was ever typed in would forever be dirty, no matter what the user did.
    1. Intuitively, a subcategory of C is a category obtained from C by "removing" some of its objects and arrows.
    1. The hierarchical structure of semantic fields can be mostly seen in hyponymy.

      Good explanation about semantic fields.

      I assume the same or an even stronger statement can be made about semantic classes (which to me are like more clear-cut, distinct semantic fields), then? 

    1. Sorry you’re surprised. Issues are filed at about a rate of 1 per day against GLib. Merge requests at a rate of about 1 per 2 days. Each issue or merge request takes a minimum of about 30 minutes (across at least 2 people) to analyse, put together a fix, test it, review it, fix it, review it and merge it. I’d estimate the average is closer to 3 hours than 30 minutes. Even at the fastest rate, it would take 3 working months to clear the backlog of ~1000 issues. I get a small proportion of my working time to spend on GLib (not full time).
    2. This issue hasn’t been deemed a high enough priority to be fixed yet. It will be addressed one day, I’m sure. There are many issues in GLib which many people on the internet think are important.
    1. The word authority in authority control derives from the idea that the names of people, places, things, and concepts are authorized, i.e., they are established in one particular form.
    1. Here's the four case: foo.js Load/Require dependencies Concatenate dependencies foo.js.map Load foo.js Currently grabs metadata[:map] from asset to build an asset, need to move that generation somewhere else to accomplish de-coupling map generation foo.debug.js Load foo.js Load foo.js.map Add comment to end of foo.js with path to foo.js.map foo.source.js The raw file on disk, the map file will need to point to source files.
    1. Before a bug can be fixed, it has to be understood and reproduced. For every issue, a maintainer gets, they have to decipher what was supposed to happen and then spend minutes or hours piecing together their reproduction. Usually, they can’t get it right, so they have to ask for clarification. This back-and-forth process takes lots of energy and wastes everyone’s time. Instead, it’s better to provide an example app from the beginning. At the end of the day, would you rather maintainers spend their time making example apps or fixing issues?
    1. I'd say an equation is anything with an equals sign in it; a formula is an equation of the form A= stuffA= stuffA={\rm\ stuff} where AAA does not appear among the stuff on the right side.
    2. An equation is meant to be solved, that is, there are some unknowns. A formula is meant to be evaluated, that is, you replace all variables in it with values and get the value of the formula.
    3. The key idea is that the equation captures not just the ingredients of the formula, but also the relationship between the different ingredients.
    4. In your case, "mpg = distance/gallons" is best understood as "a formula in the form of an equation", which means that in this instance the two words are interchangeable.
  31. Feb 2021
    1. While you could program this little piece of logic and flow yourself using a bunch of Ruby methods along with a considerable amount of ifs and elses, and maybe elsif, if you’re feeling fancy, a Trailblazer activity provides you a simple API for creating such flow without having to write and maintain any control code. It is an abstraction.
    1. A Monad wraps a value or a computation with a particular context. A monad must define both a means of wrapping normal values in the context, and a way of combining computations within the context.
    1. This text wound up founding the discipline which we today call "metaphysics", and one way to describe what this subject encompasses is that it covers things at a level of abstraction above physics.
    1. ActiveInteraction also supports merging errors. This is useful if you want to delegate validation to some other object. For example, if you have an interaction that updates a record, you might want that record to validate itself. By using the #merge! helper on errors, you can do exactly that.
    1. People often hear what they think should be said, not the words that are actually spoken. This comes from the tendency of people to think faster than they talk. A listener makes assumptions about what they expect because their minds race ahead. This can be especially problematic when you misinterpret what your boss said. 
    1. For now I feel ActiveForm is still a bit early to transition to a gem  as there are still things to improve and work out. One day I'll invest more time into making it extendable and release it as a gem. For now I feel it's an unnecessary complexity.

      If he's like most of us, though, this means it will never happen...

    1. An intent filter is an expression in an app's manifest file that specifies the type of intents that the component would like to receive. For instance, by declaring an intent filter for an activity, you make it possible for other apps to directly start your activity with a certain kind of intent. Likewise, if you do not declare any intent filters for an activity, then it can be started only with an explicit intent.
    1. 100vw is 100% of the viewport width not accounting for scrollbars (unless the root element has anything other than overflow: auto set, but auto is the default value). Thus, when the page content overflows the viewport vertically, the browser renders the vertical scroll bar, which reduces the visible viewport area by a few pixels. But the 100vw value doesn't update to account for this, so the selected div retains the same width as before the vertical scrollbar appeared. This results in the horizontal scroll bar rendering.
    1. the 2 hardest problems in computer science are essentially the 2 hardest problems of life in general, as far as humans and information are concerned.
    2. The non-determinism is why cache invalidation — and that other hard problem, naming things — are uniquely and intractably hard problems in computer science. Computers can perfectly solve deterministic problems. But they can’t predict when to invalidate a cache because, ultimately, we, the humans who design and build computational processes, can’t agree on when a cache needs to be invalidated.
    3. I like the answers already given, but I think they both could use an even more top-level, generalized explanation.
    4. Cache invalidation is hard because: Everything in life we want to know, changes.Those changes are non-deterministic.
    1. # Returns a new relation, which is the logical union of this relation and the one passed as an # argument. # # The two relations must be structurally compatible: they must be scoping the same model, and # they must differ only by #where (if no #group has been defined) or #having (if a #group is # present). Neither relation may have a #limit, #offset, or #distinct set.
    1. justify-content Sometimes the total size of your grid might be less than the size of its grid container. This could happen if all of your grid items are sized with non-flexible units like px. In this case you can set the alignment of the grid within the grid container.
    1. All those names of things - topology, complex analysis, and differential geometry - might not sound like much to you now, but you'll soon learn that they're really just describing the shapes of things in our Universe, and the way those shapes change in time and space are explained by things like calculus and chaos theory.
  32. Jan 2021
    1. Because .subtitle has a width of 100%, the min-width: auto calculation that flexbox makes says that its container should be larger than we want.
    1. The explanation here is that the minimum size of an fr unit is auto. Grid then looks at the min-content size of the item. If the item has a size (you’ve given it a width) or has something in it with a size such as an image, the min-content size might be much bigger than the share of available space you think 1fr will give you. It’s easy to think of 1fr as being “one part of the space in the grid container” when it is really one part of the space left over. If there is space to grow then the tracks grow from that min-content size assigning space. Using minmax, as you have pointed out, is the best thing to do if you want to forcibly have equal width tracks, as that says “I want this track to have a min-content size of 0”, you could potentially in that situation end up with overflows as you lose the squishiness.
    1. Basically the typescript compiler emits no code for interfaces, so webpack can not find them in the compiled module; except when a module consists of only interfaces. In that case the module will end up completely empty and then webpack will not investigate the exports.
    1. I don't know what I'd expect this to do, if not create an infinite loop. You're asking Svelte to do something before every update, and one of the things you're asking it to do is to flush any pending changes and trigger an update.
    1. In other words, programs that send messages to other machines (or to other programs on the same machine) should conform completely to the specifications, but programs that receive messages should accept non-conformant input as long as the meaning is clear.
    1. For example, we might request some data from a stock exchange API, and along with our usual API parameters, we give it a callback, like ?callback=callThisWhenReady. The web service then wraps the data with our function and returns it like this: callThisWhenReady({...data...}). Now as soon as the script loads, your browser will try to execute it (as normal), which in turns calls our arbitrary function and feeds us the data we wanted.
    1. Explained: Reason for the “The following packages have been kept back” error and how it was fixed The above suggested fix should solve the problem for you. But are you curious what caused the error and how was it fixed? Let me explain that to you. Normally, when you run the sudo apt update and sudo apt upgrade commands, it updates all the installed packages to their available newer versions. However, if the dependencies of an installed package have been changed such that it requires installation of new packages, the installed package won’t be upgraded with the system update and you’ll see package kept back error.
    1. Dialogs use text buttons because the absence of a container helps unify the action with the dialog text. Align text buttons to the right edge for left-to-right scripts.
    2. Text buttons are often embedded in contained components like cards and dialogs, in order to relate themselves to the component in which they appear. Because text buttons don’t have a container, they don’t distract from nearby content.