23 Matching Annotations
  1. Apr 2019
    1. The default value can be an expression, which will be evaluated whenever the default value is inserted (not when the table is created).

      this is crucial

    1. It is important to understand the interaction between aggregates and SQL's WHERE and HAVING clauses. The fundamental difference between WHERE and HAVING is this: WHERE selects input rows before groups and aggregates are computed (thus, it controls which rows go into the aggregate computation), whereas HAVING selects group rows after groups and aggregates are computed. Thus, the WHERE clause must not contain aggregate functions; it makes no sense to try to use an aggregate to determine which rows will be inputs to the aggregates. On the other hand, the HAVING clause always contains aggregate functions. (Strictly speaking, you are allowed to write a HAVING clause that doesn't use aggregates, but it's seldom useful. The same condition could be used more efficiently at the WHERE stage.)

      WHERE >> AGGREGATE >> HAVING (use aggregate functions)

      this is SQL procedural sequence on data querying.

      and yes HAVING kind of do almost the same thing in WHERE. but it accepts the grouping and aggregation functions that fails to be in WHERE.

  2. Dec 2018
    1. Summary To wrap it up, you will hear people talking about shells all the time. Context is key. It could be: A generic way to refer to any terminal you have open. “Type $ top into your shell and see what happens.” (Press q to quit.) A server they have to log into. Before the era of the cloud, it would be popular for small hosts to sell “C Shells” with root access. A shell within a tmux pane. If scripting is mentioned, it is likely either the script file, an issue related to the scripts’ behavior, or something about the shell language.

      summerizing the POSIX, terminal and shell in few lines and resources.

    2. tmux allows you to keep multiple terminals running on the same screen. After all, the abbreviation “tmux” comes from - Terminal Multiplexer.

      good to know

    1. Git will make you think that the gods of speed have blessed Git with unworldly powers. Because you have the entire history of the project right there on your local disk, most operations seem almost instantaneous.

      amazing metaphor

  3. Oct 2018
    1. For example, Epictetus (2004), Seneca (2004), Marcus Aurelius (1995),Boethius (2004), and Descartes (1988) write about illness and its contri-bution to the modes and themes of philosophising, as well as the relation-ship between health and virtue, and health’s contribution to the good life(e.g., Boethius’sConsolation of Philosophy, book IV, Seneca’s

      what is the relationship between health and virtue?

  4. Aug 2018
    1. Users perceive performance delays differently, depending on network conditions and hardware. For example, loading an experience in 1000ms is plausible on a powerful desktop machine over a fast Wi-Fi connection, so users have grown accustomed to a 1000ms loading experience. But for mobile devices over slow 3G connections, loading in 5000ms is a more realistic goal, so mobile users are generally more patient.

      UX Application speed guideline

  5. Jul 2018
    1. The fact that stimuli that have high association values are easily learned and remembered means that it is easier to learn new meanings for stimuli that already have multiple meanings;

      this fact is unbelievably true !

    2. it is much easier to remember places, objects, or rooms in a building by name than by number, because names have higher association values than numbers.

      a clear proof of the importance of association in learning process.

  6. Mar 2018
    1. It’s fundamentally about exploring uncertainty

      Lean is exploring uncertainty

    2. Lean says be adaptive, not predictive.

      to be adabtive one should be predictive to adapt fast !!

    3. Design Thinking is how we explore and solve problems; Lean is our framework for testing our beliefs and learning our way to the right outcomes; and Agile is how we adapt to changing conditions with software.

      nice summary for startups

  7. Feb 2018
    1. If you are using MySQL 5.7.5 and above, then on selecting fields from a result set using methods like select, pluck and ids; the order method will raise an ActiveRecord::StatementInvalid exception unless the field(s) used in order clause are included in the select list. See the next section for selecting fields from the result set.

      not understand

    2. :error_on_ignoreOverrides the application config to specify if an error should be raised when an order is present in the relation.

      search for it

  8. Jan 2018
    1.   The art of choosing actions that steer the future toward outcomes ranked higher in your preferences. 

      that sounds like pragmatic beliefs

    1. The 'one expectation' tip is more broadly expressed as 'each test should make only one assertion'.

      it's like single responsibility principles that make every method do one job. test cases has one expectation

  9. Dec 2017
    1. If we accept that today’s solution will be different from tomorrow’s, then we should focus on meeting our immediate needs in a way that doesn’t constrain our ability to respond when things change later.

      this agile explanation need to be more clear.

    2. Meaning and new ideas emerge when we explore things

      this is an interesting thought. the designer make meaning through his design and the designer can't make it until he EXPLORE patterns and environment. interesting !!

  10. Aug 2017
    1. As a Ruby programmer, you spend most of your time either specify-ing the things you want objects to be able to do (by defining methods) or asking theobjects to do those things (by sending them messages).

      pretty much well summarized !

    1. Quiz Answers function foo(a) { var b = a; return a + b; } var c = foo( 2 ); Identify all the LHS look-ups (there are 3!). c = .., a = 2 (implicit param assignment) and b = .. Identify all the RHS look-ups (there are 4!). foo(2.., = a;, a + .. and .. + b

      example summary of LHS and RHS

    2. Consider this program, which has both LHS and RHS references: function foo(a) { console.log( a ); // 2 } foo( 2 ); The last line that invokes foo(..) as a function call requires an RHS reference to foo, meaning, "go look-up the value of foo, and give it to me." Moreover, (..) means the value of foo should be executed, so it'd better actually be a function! There's a subtle but important assignment here. Did you spot it? You may have missed the implied a = 2 in this code snippet. It happens when the value 2 is passed as an argument to the foo(..) function, in which case the 2 value is assigned to the parameter a. To (implicitly) assign to parameter a, an LHS look-up is performed. There's also an RHS reference for the value of a, and that resulting value is passed to console.log(..). console.log(..) needs a reference to execute. It's an RHS look-up for the console object, then a property-resolution occurs to see if it has a method called log. Finally, we can conceptualize that there's an LHS/RHS exchange of passing the value 2 (by way of variable a's RHS look-up) into log(..). Inside of the native implementation of log(..), we can assume it has parameters, the first of which (perhaps called arg1) has an LHS reference look-up, before assigning 2 to it.

      super important to understand engine look-up LHS RHS

    1. If Type(x) is Boolean, return the result of the comparison ToNumber(x) == y. If Type(y) is Boolean, return the result of the comparison x == ToNumber(y).

      How is Boolean converted to Number ??

  11. Feb 2017
    1. Some corners sociological debate today focuses on new immigrants' ability to find employment and to achieve economic self-sufficiency.

      this is test annotation