338 Matching Annotations
  1. Last 7 days
    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.

  2. 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".
  3. 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.

  4. 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:
  5. Aug 2022
  6. 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.
  7. 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.
  8. Feb 2022
    1. பல கலாச்சாரங்களில் உயிர்களின் படைப்பு பெரும் பிரளயத்திலிருந்து தொடங்குவதாகச் சொல்லப்படும் படிமத்தையும், பருவநிலை மாற்றத்தில் எழும் அழிவு வெள்ளத்தையும், புராணங்களிலிருந்து மேற்கோள் காட்டி, ஒரு சுழற்சியில் இணைக்கிறது நாவல்.

      Example for படிமம் in novel writing

  9. 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.
  10. Dec 2021
  11. 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 !



    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.
  12. 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



    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).
  13. 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.
  14. 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
  15. 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.
  16. Jun 2021
  17. 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.
  18. 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.
  19. 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.
  20. Feb 2021
  21. trailblazer.to trailblazer.to