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

    2. applying numerically based overlay indicators to window oscillators

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

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

    4. 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 !

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

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

    7. the hAndbook of technIcAl AnAlysIs224inside Bars
    8. 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 !)

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

    10. onstruction of a Price Bar

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

    11. 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 !

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

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

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

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

    16. 5.9 trenD DireCtionaLity


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


    18. wing points and barrier strength


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


    20. Decreasing Cycle Amplitudes in an Uptrend Is Bearish

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

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



  2. Oct 2021
    1. 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)

    2. Conflicting Chart Pattern Signals.

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



  3. 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.
  4. 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
  5. 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.
  6. Jun 2021
  7. 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.
  8. 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.
  9. 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.
  10. 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.
  11. 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. 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. 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.
  12. Dec 2020
    1. A listener watches for an event to be fired. For example, a KeyListener waits for KeyEvents, a MessageListener waits for messages to arrive on a queue and so on. The handler is responsible for dealing with the event. Normally, listeners and handlers go hand-in-hand. For example, the KeyListener tells the ExitHandler that "the letter Q was pressed" and the handler performs logic such as cleaning up resources and exiting the application gracefully. Similary a ButtonClickListener would tell the same ExitHandler that the "Exit button was clicked". So, in this case you have two different events, two different listeners but a single handler.

      You can use the same handler for multiple events/listeners.

    2. The most basic difference is the association Listener is associated with Event Source (Ex: key board) Handler is associated with an Event (Ex: keydown)
    1. For safety reasons, certain pumps and sprayers cannot be returned to the store if opened.

      More likely: they don't want to deal with these returns because of risk to store and because they want to keep the money they made from the sale.

  13. Nov 2020
    1. The notion that the state of our gut governs our state of mind dates back more than 100 years. Many 19th- and early 20th-century scientists believed that accumulating wastes in the colon triggered a state of “auto-intoxication,” whereby poisons emanating from the gut produced infections that were in turn linked with depression, anxiety and psychosis. Patients were treated with colonic purges and even bowel surgeries until these practices were dismissed as quackery.


    1. passive: true instructs chrome that no body will call e.preventDefault() so chrome can optimized scrolling just because no body will call e.preventDefault and so there is no need to wait listeners...
    1. As mentioned in #2937, this is the sort of thing that happens when you have two copies of Svelte's internal scheduler running. If you're importing the compiled version of an external Svelte component into another Svelte component, this is what you end up with. There's a svelte field in package.json that's respected by rollup-plugin-svelte and which is intended to point at the uncompiled Svelte source, so that the external component can be bundled together with the main app, without any duplicated internals.
    1. positive feedback loops, in which a change in a given direction causes additional change in the same direction.For example, an increase in the concentration of a substance causes feedback that produces continued increases in concentration. negative feedback loops, in which a change in a given direction causes change in the opposite direction.For example, an increase in the concentration of a substance causes feedback that ultimately causes the concentration of the substance to decrease.
    1. Gas engines are so complicated/intricate/messy. I wish we could just use electric motors for everything. Clean, simple, and maintenance-free.

    1. Linear mixed models are an extension of simple linear models to allow both fixed and random effects, and are particularly used when there is non independence in the data, such as arises from a hierarchical structure
    1. So let's say we pull down evil/foo which is FROM ubuntu followed by RUN apt-get update except with a small surprise included in the image. Subsequent builds using those same commands will be compromised.
    1. With the advent of JavaScript modules (import and export), it's possible to build libraries that are tree-shakeable. This means that a user of your library can import just the bits they need, without burdening their users with all the code you're not using.
    1. From the viewpoint of the formal theory of sto- chastic processes, what we are looking at now is equivalent to a generalized "Polya urn scheme.

      random processes theory explains: a Pólya urn model, named after George Pólya, is a type of statistical model used as an idealized mental exercise framework, unifying many treatments. In an urn model, objects of real interest are represented as colored balls in an urn or other container - wikipedia ---- the proverbial plucking a ball from a jar to explain randomness.

    2. The advent of "touch" typing, a distinct advance over the four-finger hunt-and-peck method, came late in the 1880's and was critical, because this innovation was from its inception adapted to the Remington's QWERTY keyboard. Touch typing gave rise to three features of the evolving production system which were crucially important in causing QWERTY to become "locked in" as the dominant keyboard arrangement. These features were technical interrelatedness, econ- omies of scale, and quasi-irreversibility of investment. They constitute the basic in- gredients of what might be called QWERTY- nomics.

      Explanatory variables as to why qwerty became a thing.

    3. an effort to reduce the frequency of typebar clashes, there emerged a four-row, upper case keyboard approaching the mod- ern QWERTY standard

      qwerty emerged as a way of avoiding jamming keyboards.

    1. they have higher IQs and score better on other aptitude tests.

      Intervening variables.

    2. preferences of would-be criminals but also by the economic and social environment created by public policies, including expenditures on police, punishments for different crimes, and opportunities for em- ployment, schooling, and training program

      the variables that may correlate to criminality.

    3. actual discrimination in earnings and employment is deter- mined by tastes for discrimination, along with the degree of competi- tion in labor and product markets, the distribution of discrimination coefficients among members of the majority group, the access of mi- norities to education and training, the outcome of median voter and other voting mechanisms that determine whether legislation favors or is hostile to minorities, and other considerations

      Variables that influence discrimination

    4. Actual discrimination in the marketplace against a minority group depends on the combined discrimination of employers, workers, con- sumers, schools, and governmen

      actors in discrimination are institutions.

    1. Historical Institutionalists are first interested in explaining an outcome (say, for example, why France and Britain have pursued such different styles of industrial Policy (Hall 1986) or why some welfare states generate more popular support than others (Rothstein 1998) ) they THEN proceed to explore alternative explanations for the outcomes they observe.

      Historical institutionalist – approach is explaining outcomes based on theories. They take inductive approaches – observe the outcomes and then attempt to create alternative explanations for the outcomes (Steimo p 2)



  14. Oct 2020
    1. e vision. All Western cultural narratives about objectivity are allegories of the ideologies governing the relations of what we call mind and body, distance and responsibility. Feminist objectivity is about limited location and situated knowledge, not about trans- cendence and splitting of subject and object. It allows us to become answerable for what we learn how to see.
    1. Look at their Readme:

      Well we have had a great time adding field validations, but there are validations that are tied up to the whole record we are editing than to a given field, for instance let's face this scenario:
      - You are not allowed to transfer more than 1000 € to Switzerland using this form (for instance: you have to go through another form where some additional documentation is required).
      - The best place to fire this validation is at record level.
      - Record validation functions accept as input parameter that whole form record info, and return the result of the validation (it accepts both flavours sync and promise based), let's check the code for this validator:
    1. One of the significant differences between the two is that a call to a partially applied function returns the result right away, not another function down the currying chain; this distinction can be illustrated clearly for functions whose arity is greater than two.
    2. As such, curry is more suitably defined as an operation which, in many theoretical cases, is often applied recursively, but which is theoretically indistinguishable (when considered as an operation) from a partial application.
    1. Also, if you don't put that implementation of URLSearchParams in the global scope you're not using it as a polyfill but a ponyfill, and those are meant for your code, not for external dependencies.

      first sighting: ponyfill