anchor.diff:   p}
   ----
   +
  -'Posted 2015.03.26. Nick Psaris'
  -
  +_Posted 2015.03.26. Nick Psaris_
  +
  
positive.code:  p}
  ----
  +
  'Posted 2015.03.26. Nick Psaris'
  * p. 194, Asof joins, The third sentence of the first paragraph
    should begin: In fact, *the* asof join +aj+ operator ...
  +
  'Posted 2015.05.13. Danila Deliya'
  * p. 198, Asof joins, The first sentence should read: Looking forward
    in time is generally a bad practice when attempting *to*
    reproduce a realistic simulation of historical events.
  +
  'Posted 2015.05.13. Danila Deliya'
  
  == Chapter 15
  
  * p. 209, The +sym+ File, The second listing should begin with the
     following command:
  +
  ----
  q)prices`id
  ----
  +
  'Posted 2015.05.13. Danila Deliya'
  * p. 211, Virtual Column, The section should begin: *Each table in
  our +qdb+ database starts with a +date+ column.* But where did this
  column come from?
  +
  'Posted 2015.05.13. Danila Deliya'
  * p. 218, Compressing by Default, The last sentence should read: To
  clear the compression configuration we can use the *`\x`* system
  command and +.z.zd+ will be cleared.
  +
  'Posted 2015.05.13. Danila Deliya'
  * p. 221, Remote File Systems, The last sentence of the first paragaph
  should end: it is conceivable that compressing the data can actually
  *increase* the performance of reading data from our kdb+ database.
  +
  'Posted 2015.05.17. Danila Deliya'
  * p. 224, Slave Layout, The last sentence should begin: The next
    chapter *discusses* ...
  +
  'Posted 2015.05.17. Danila Deliya'
  
  == Chapter 16
  
  * p. 227, Subscriptions, The first sentence should read: Asynchronous
     messages are often used to send messages as fast *as* possible ...
  +
  'Posted 2015.04.04. Lam Hin Yan'
  
  == Chapter 17
  
  * p. 237, Instrumenting Functions, The second sentence of the
    paragraph after the definition of +.prof.instr+ should begin: The
    *third* line of the function ...
  +
  'Posted 2015.05.17. Danila Deliya'
  * p. 239, Traversing the Directory Tree, The second sentence of the
    first paragraph should read: So we can exclude +q+, +Q+, +h+, *+j+*,
    +o+, and +prof+ from the list of directories to inspect.
  +
  'Posted 2015.05.17. Danila Deliya'
  * p. 251, Path Dependent Payoffs, The first sentence should read: The
    Up and Out option is worth *less*.
  +
  'Posted 2015.05.17. Danila Deliya'
  * p. 254, Brawn vs Brain, The first sentence of the first paragraph
    should begin: For example, if we assign a projection of
    +.deriv.bsm+ to *+f+* ...
  +
  'Posted 2015.05.17. Danila Deliya'
  * p. 258, Grouping Data, The first sentence of the fourth paragraph
    should begin: The operator assumes, but does not enforce, *that* our
    list of bins ...
  +
  'Posted 2015.05.17. Danila Deliya'
  * p. 261, Alternate Bin Algorithms, The first sentence should read:
    But the +sturges+ method does not *handle* skewed data well.
  +
  'Posted 2015.05.17. Danila Deliya'
  * p. 262, Alternate Bin Algorithms, The second footnote should begin:
    *Freedman*, David; Diaconis, P. (1981).  ...
  +
  'Posted 2015.05.17. Danila Deliya'
  
  == Selected Web Resources
  
  * p. 267, Kx Systems Links, The description of [20] Kdb+ IPC protocol
    should end: Sample deserialization implementations can be found in
    the *Kx Connectivity Resources repository http://kx.com/q/c/*.
  +
  'Posted 2015.05.17. Danila Deliya'
  
  == List of Terms
  * p. 271, Projection, The last sentence should read: Monadic functions
  can not *be* projected, as the function will be instantly called.
  +
  'Posted 2015.05.17. Danila Deliya'
  
  == Appendix A
  
  * p. 274, Utilities, The implementation of +.util.pivot+ should read:
  +
  ----
  pivot:{[t]
  
negative.code: 
  == Preface
  
  == Chapter 1 _Introduction_
  
  == Chapter 2 _Getting Started_
  
  * p. 9, *2.1 Installing KDB+*, _Running q_, the fifth sentence should
   read: +*4*()core+ indicates that kdb+ is capable of seeing *4* cores
   on my machine.
  +
  _Posted 2015.05.03. Danila Deliya_
  * p. 17, *2.3 Syntax Rules*, _Parentheses_, the first sentence should
   read: Parentheses can also be used *to* enforce operator precedence.
  +
  _Posted 2015.05.03. Danila Deliya_
  
  == Chapter 3 _Generating Data_
  
  == Chapter 4 _Functions_
  
  * p. 44, *4.2 Box Muller*, _Reshape_, should read: The second line of
    the +.stat.bm+ function uses the "*#*" operator ...
  +
  _Posted 2015.03.27. Julien Quentin Tran_
  * p. 44, *4.2 Box Muller*,_Reshape_, the second sentence should read:
     The basic form of the take operator "*#*" takes ...
  +
  _Posted 2015.03.27. Julien Quentin Tran_
  * p. 46, *4.2 Box Muller*, _Loading Code_, the last sentence should
   conclude: we now move to a slower generator of normal random
   variables that only requires a single *uniform* variable as input.
  +
  _Posted 2015.05.03. Danila Deliya_
  * p. 47, *4.3 Beasley-Springer-Moro*, _Horner's Method_, the first
    sentence should begin: The *fifth* line ...
  +
  _Posted 2015.05.03. Danila Deliya_
  * p. 49, *4.3 Beasley-Springer-Moro*, _Over_, the second listing
    should multiply by .1:
  +
  ----
  q)0 (.9)\.1*til 5
  0 0.1 0.29 0.561 0.9049
  ----
  +
  _Posted 2015.08.01. https://twitter.com/SrBufi_
  
  == Chapter 5 _Code Organization_
  
  * p. 53, *5.1 Libraries*, _Identity vs Equality_, the second sentence
    should read: For atoms, the match operator and the equality operator
    "=" have the *same* behavior.
  +
  _Posted 2015.03.27. Julien Quentin Tran_
  
  == Chapter 6 _A Random Walk_
  
  == Chapter 7 _Building a Table_
  
  == Chapter 8 _Large Tables_
  
  == Chapter 9 _Trades and Quotes_
  
  * p. 116, *9.3 Trades*, _Delaying a Time Series_, the second paragraph
    should begin: The +prev+ operator is similar *to* the +next+
    operator ...
  +
  _Posted 2015.05.13. Danila Deliya_
  * p. 119, *9.3 Trades*, _Grouping_, The second listing should not have
    the extra:
  +
  ----
  q)o
  ----
  +
  _Posted 2015.03.27. Julien Quentin Tran_
  
  == Chapter 10 _CEP Engine Components_
  * p. 125, *10.1 Timer Events*, _Nulls and Infinities_, the third
    sentence of the last paragraph should end: perhaps the most
    appropriate trade price would be the last known trade *price*.
  +
  _Posted 2015.05.13. Danila Deliya_
  * p. 129, *10.1 Timer Events*, _Drop_, the first sentence on the page
    should be: The second line of the function indexes into the table to
    find the job *+j+*.
  +
  _Posted 2015.05.13. Danila Deliya_
  * p. 129, *10.1 Timer Events*, _Drop_, the fourth paragraph should
    also refer to the *+j+* dictionary.
  +
  _Posted 2015.05.13. Danila Deliya_
  * p. 132, *10.2 Logging*, _Logging Library_, The second sentence of
     the third paragraph in the section should begin: In this case, the
     monadic function *`(1024*)`* ...
  +
  _Posted 2015.05.13. Danila Deliya_
  * p. 132, *10.2 Logging*, _Logging Library_, The final listing should
    be labeled +.log.hdr+.
  +
  _Posted 2015.04.04. Lam Hin Yan_
  * p. 135, *10.3 Command Line Options*, _Configuration_, The first new
    paragraph should mention five parameters: Our CEP server will
    require *five* parameters: a file path to load reference data, a
    time to run the end of day processing, a directory to save the
    market data, *a debug flag*, and a log level to control how much
    logging is displayed.
  +
  _Posted 2015.04.04. Lam Hin Yan_
  * p. 135, *10.3 Command Line Options*, _Configuration_, The second
    paragraph should mention five parameters as well: The table now has
    one empty row, and *five* options.
  +
  _Posted 2015.04.04. Lam Hin Yan_
  * p. 135,*10.3 Command Line Options*, _Parsing User Command Line
    Arguments_, The last paragraph should begin: The *second* line of
    the function ...
  +
  _Posted 2015.05.13. Danila Deliya_
  
  == Chapter 11 _Running a CEP Engine_
  
  == Chapter 12 _Security_
  
  == Chapter 13 _Debugging_
  
  == Chapter 14 _Q-SQL_
  
  * p. 172, *14.1 Syntax*, _Dot Notation_, The last sentence should end:
    it *is* safer to always use explicit casting instead of using `dot`
    notation.
  +
  _Posted 2015.05.13. Danila Deliya_
  * p. 177, *14.1 Syntax*, _Exec by_, The third paragraph should begin:
    This works because calling *+first+* ...
  +
  _Posted 2015.05.13. Danila Deliya_
  * p. 181, *14.2 Pivot Tables*, _Building a Pivot Table_, The second
    sentence of the first paragraph should begin: Our dataset has a
    *price* ...
  +
  _Posted 2015.05.13. Danila Deliya_
  * p. 184, *14.2 Pivot Tables*, _Writing a Pivot Function_, The
    implementation of +.util.pivot+ should read:
  +
  ----
  pivot:{[t]
  