14 Matching Annotations
  1. Jun 2023
    1. Example 1: If a 1000-Ω resistor is connected in parallel with a3000-Ω resistor, what is the total or equivalent resistance? Alsocalculate total current and individual currents, as well as thetotal and individual dissipated powers.R R RR R1000 30001000 30003, 000, 0004000 750total1 21 2= ×+ = Ω × ΩΩ + Ω = ΩΩ = ΩTo find how much current flows through each resistor, applyOhm’s law:I VRI VR12 V1000 0.012 A 12 mA12 V3000 0.004 A 4 mA111222= = Ω = == = Ω = =These individual currents add up to the total input current:Iin = I1 + I2 = 12 mA + 4 mA = 16 mAThis statement is referred to as Kirchhoff’s current law. Withthis law, and Ohm’s law, you come up with the current divider

      Great intro problem to Kirchhoff's current law

      Current divider notes as well!

  2. Jan 2023
  3. Dec 2022
  4. Oct 2022
  5. Jun 2021
  6. Apr 2021
  7. Nov 2020
    1. Important caveat: in the combined expression, if the middle command has a non-zero exit status, then both the middle and the rightmost command end up getting executed.

      I don't think that is surprising, is it? Since && and || have the same order of precedence. So I think this is more of a clarification than a caveat.

      I think this is just because:

      a && b || c is equivalent to: (a && b) || c (so of course c gets evaluated if (a && b) is false (that if either a or b is false).

      I think they just mean, in this case:

      bedmap && mv || fail
      

      if mv fails, then fail still gets executed.

      Easier to see with a simpler example:

      ⟫ true && false || echo 'fail'
      fail
      
      ⟫ false && true || echo 'fail'
      fail
      

      Better example/explanation here: https://hyp.is/-foxmCVXEeuhnLM-le_R4w/mywiki.wooledge.org/BashPitfalls

      The caveat/mistake here is if you treat it / think that it is equivalent to if a then b else c. That is not the case if b has any chance of failing.

    1. The potential problem: if second_task fails, third_task will not run, and execution will continue to the next line of code - next_task, in this example. This may be exactly the behavior you want. Alternatively, you may be intending that if second_task fails, the script should immediately exit with its error code. In this case, the best choice is to use a block - i.e., curly braces: first_task && { second_task third_task } next_task Because we are using the -e option, if second_task fails, the script immediately exits.
  8. Jul 2020
  9. May 2020
  10. Dec 2019
  11. Jul 2018