Error message

  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6592 of /home1/montes/public_html/books/includes/common.inc).
  • Deprecated function: implode(): Passing glue string after array is deprecated. Swap the parameters in drupal_get_feeds() (line 394 of /home1/montes/public_html/books/includes/common.inc).
  • Deprecated function: The each() function is deprecated. This message will be suppressed on further calls in menu_set_active_trail() (line 2405 of /home1/montes/public_html/books/includes/menu.inc).

Feed aggregator

Monday Musings: Checking In After A Quiet Stretch

D.B. Jackson - Mon, 03/30/2026 - 16:01

It’s been a while since I last posted on this blog, and while I don’t think I have much to say, I thought I should at least say something. So….

Hi. How’re’ya doin’?

Good, good…

How am I?

That’s…complicated. Generally, I’m okay. Life flows along. I had a birthday not so long ago. Never mind which one. But I saw friends and family. I heard from lots of people. And despite the inexorable march of time, I felt pretty good about the whole thing. Especially considering the alternative….

A few days later, though, I was feeling down, and I couldn’t explain it. As I say, I’d just had a nice birthday, and things seemed to be going along pretty well. Yet, I was just so very sad. Why? I finally said something to Nancy, and she reacted with something akin to, “Well, yeah, of course.” And then she reminded me that we were, almost to the day, five years removed from the day Alex called to tell us of her cancer diagnosis.

Suddenly, it made sense. As my therapist used to say, the body remembers. Even if the mind doesn’t actively, the body responds on a primal level to things like seasonal changes — the weather, the angle of sun, the awakening of trees and wildlife. My body remembered the trauma of that conversation, and more, it associated it with this time of year. And once I understood, I felt better. I was still sad, of course, but at least I understood why, and that I could handle.

So, yeah, ups and downs.

Speaking of seasonal changes… Spring insinuates itself daily into the landscape and weather. Spring in Tennessee was a frenzied affair. Temperatures rose quickly, everything seemed to bloom at once, and it wasn’t uncommon to go from winter to spring to days that felt like mid-summer in the span of a single month. Spring here in the Northeast is a far more gradual process, as if the land itself is savoring its rebirth. Fits and starts. Warm days give way to cold ones, which in turn are followed by warmer ones. The end of last week was downright cold. It snowed here yesterday. But earlier in the week, it reached 70. It’s supposed to do the same early this week. And then we could have more snow on Thursday or Friday. Nuts, right? Our crocuses are up. Tulips and daffodils are emerging, but not yet showing blooms. Tree buds are beginning to swell. A few more bird species are flocking to our feeders. The general trend is clear and heartening after a long winter.

With spring, of course, comes baseball, which is still my sport of choice. I love soccer (excuse me: football), but my connection to baseball goes back to some of the earliest memories of my childhood. Playing ball on our little dead end street with the neighborhood kids, playing stickball on my school playground, collecting baseball cards, poring over boxscores in the newspaper literally every day of the season, watching games on TV with my dad, listening to games on my radio on weeknights when I should have been trying to sleep.

I don’t watch as much as I used to. When I was ten, I didn’t have to justify wasting a couple of hours watching a televised game. These days, there always seems to be something else I ought to be doing. But MLB.com airs radio broadcasts of Major League games from all over the country, and because I’m a subscriber, they’re basically free. So, I intend to listen this summer. There is something magical about baseball on the radio, announced by someone who knows what they’re doing. Maybe it’s the slower pace of the sport that makes it work. Maybe it’s just my love of the game. Whatever. I’m looking forward to it.

What? Work? Yeah, I’m doing some work. I am editing stories for the upcoming anthology, Disruptive Intent, which I am co-editing with Sarah J. Sover for Falstaff Books. There have been a few hiccups along the way, but that is to be expected when working on a project with so many moving parts. I can’t wait to see the final product. We have a terrific set of stories from our roster of wonderful writers, and working with Sarah has been a joy.

When not working on those edits, I have been writing my new book. I am not setting any land speed records with my output, but that’s okay. I’m not in any rush. I’m making progress, and I continue to love the concept and the main character.

I did my taxes this past week (which is also part of “work,” since I’m self-employed). That’s really all I care to say on that subject….

Finally, this past weekend, I took part in downtown Albany’s small but passionate No-King’s Rally. The city hosted a couple of rallies, and the region hosted more than a dozen. The one I attended began in the shadow of New York’s statehouse and then marched through the streets surrounding the Capitol Plaza. We chanted and held signs and all that good stuff, and we joined the millions worldwide who called for an end to the war-of-choice in Iran, the extra-legal brutality of ICE, the weaponization of the Justice Department, the assault on voting rights, and the systemic protection of Jeffrey Epstein’s allies and enablers in the White House and elsewhere. It felt good to do something positive with my simmering anger at this Administration, and to be surrounded by so many like-minded people.

And that’s me right now.

I hope you are well, that the onset of spring brings you joy, and that you have a wonderful week.

Categories: Authors

The W*it Did Not Kill Us

ILONA ANDREWS - Mon, 03/30/2026 - 16:01

Tomorrow we finally enter Kair Toren, the capital of the kingdom of Rellas.

Its lynchpin is the Sun Margrave. The man who stands between order and lawlessness.

Gorgeous art by Helena Elias. Click to enlarge, the details are unreal

Maggie knows exactly what he represents, because This Kingdom Will Not Kill Me doesn’t drop a character into a fantasy world. It puts a fan inside it.

She’s reread these books until she knows them by heart. The details, the people, the moments that mattered. She knows how this story is supposed to go. And that certainty might be the most dangerous thing she brings into this world.

“Who is the Sun Margrave?” Kaiden asked.

“He’s the man who leads the Justice Chamber,” Clover told him. “When
people commit crimes against the kingdom, he is the one who brings the cases
before the High Court.”

“Margrave is a military title,” Reynald explained. “It means lord who defends
a border. The Sun Margrave also guards a boundary, the one between lawlessness and order.”

Our long w*it is almost over, and suddenly everything is happening at once.

House Andrews are on tour meeting readers and signing books. If you’re going to see them, send them the love of all of us who can’t be there.

They left me with lots of surprise goodies for you over the release period, bonus scenes and more eye candy art reveals.

Speaking of eye candy, the book is starting to roll out worldwide. Here are announcements for the French and German editions, with Polish, Spanish, Slovakian and Ukrainian editions on the way.

I know that early copies are already landing in bookstores and libraries and being delivered. Lucky you, happy reading! Please keep your friends safe until tomorrow’s spoiler thread, though.

Just one more day.

What are we reading with—snacks, tea, all of it?

The post The W*it Did Not Kill Us first appeared on ILONA ANDREWS.

Categories: Authors

Monday Musings: Checking In After A Quiet Stretch

DAVID B. COE - Mon, 03/30/2026 - 16:00

It’s been a while since I last posted on this blog, and while I don’t think I have much to say, I thought I should at least say something. So….

Hi. How’re’ya doin’?

Good, good…

How am I?

That’s…complicated. Generally, I’m okay. Life flows along. I had a birthday not so long ago. Never mind which one. But I saw friends and family. I heard from lots of people. And despite the inexorable march of time, I felt pretty good about the whole thing. Especially considering the alternative….

A few days later, though, I was feeling down, and I couldn’t explain it. As I say, I’d just had a nice birthday, and things seemed to be going along pretty well. Yet, I was just so very sad. Why? I finally said something to Nancy, and she reacted with something akin to, “Well, yeah, of course.” And then she reminded me that we were, almost to the day, five years removed from the day Alex called to tell us of her cancer diagnosis.

Suddenly, it made sense. As my therapist used to say, the body remembers. Even if the mind doesn’t actively, the body responds on a primal level to things like seasonal changes — the weather, the angle of sun, the awakening of trees and wildlife. My body remembered the trauma of that conversation, and more, it associated it with this time of year. And once I understood, I felt better. I was still sad, of course, but at least I understood why, and that I could handle.

So, yeah, ups and downs.

Speaking of seasonal changes… Spring insinuates itself daily into the landscape and weather. Spring in Tennessee was a frenzied affair. Temperatures rose quickly, everything seemed to bloom at once, and it wasn’t uncommon to go from winter to spring to days that felt like mid-summer in the span of a single month. Spring here in the Northeast is a far more gradual process, as if the land itself is savoring its rebirth. Fits and starts. Warm days give way to cold ones, which in turn are followed by warmer ones. The end of last week was downright cold. It snowed here yesterday. But earlier in the week, it reached 70. It’s supposed to do the same early this week. And then we could have more snow on Thursday or Friday. Nuts, right? Our crocuses are up. Tulips and daffodils are emerging, but not yet showing blooms. Tree buds are beginning to swell. A few more bird species are flocking to our feeders. The general trend is clear and heartening after a long winter.

With spring, of course, comes baseball, which is still my sport of choice. I love soccer (excuse me: football), but my connection to baseball goes back to some of the earliest memories of my childhood. Playing ball on our little dead end street with the neighborhood kids, playing stickball on my school playground, collecting baseball cards, poring over boxscores in the newspaper literally every day of the season, watching games on TV with my dad, listening to games on my radio on weeknights when I should have been trying to sleep.

I don’t watch as much as I used to. When I was ten, I didn’t have to justify wasting a couple of hours watching a televised game. These days, there always seems to be something else I ought to be doing. But MLB.com airs radio broadcasts of Major League games from all over the country, and because I’m a subscriber, they’re basically free. So, I intend to listen this summer. There is something magical about baseball on the radio, announced by someone who knows what they’re doing. Maybe it’s the slower pace of the sport that makes it work. Maybe it’s just my love of the game. Whatever. I’m looking forward to it.

What? Work? Yeah, I’m doing some work. I am editing stories for the upcoming anthology, Disruptive Intent, which I am co-editing with Sarah J. Sover for Falstaff Books. There have been a few hiccups along the way, but that is to be expected when working on a project with so many moving parts. I can’t wait to see the final product. We have a terrific set of stories from our roster of wonderful writers, and working with Sarah has been a joy.

When not working on those edits, I have been writing my new book. I am not setting any land speed records with my output, but that’s okay. I’m not in any rush. I’m making progress, and I continue to love the concept and the main character.

I did my taxes this past week (which is also part of “work,” since I’m self-employed). That’s really all I care to say on that subject….

Finally, this past weekend, I took part in downtown Albany’s small but passionate No-King’s Rally. The city hosted a couple of rallies, and the region hosted more than a dozen. The one I attended began in the shadow of New York’s statehouse and then marched through the streets surrounding the Capitol Plaza. We chanted and held signs and all that good stuff, and we joined the millions worldwide who called for an end to the war-of-choice in Iran, the extra-legal brutality of ICE, the weaponization of the Justice Department, the assault on voting rights, and the systemic protection of Jeffrey Epstein’s allies and enablers in the White House and elsewhere. It felt good to do something positive with my simmering anger at this Administration, and to be surrounded by so many like-minded people.

And that’s me right now.

I hope you are well, that the onset of spring brings you joy, and that you have a wonderful week.

Categories: Fantasy Books

Spotlight on “The Chambermaid’s Key” by Genevieve Graham

http://litstack.com/ - Mon, 03/30/2026 - 15:00
The Chambermaid's Key by Genevieve Graham book cover

Titles by Genevieve Graham Here are a few other LitStack Spots of titles to add…

The post Spotlight on “The Chambermaid’s Key” by Genevieve Graham appeared first on LitStack.

Categories: Fantasy Books

Monday Meows

Kelly McCullough - Mon, 03/30/2026 - 14:00

Bird bird bird, bird is the word…

The delicious delicious word.

I must be dreaming.

No, pretty sure I can reach it from here.

Oooh, I wanna watch this…

Ptery vs. Tortie, sure, why not, beats pay per view.

Categories: Authors

8 Things I Think I Think: March 2026

https://www.blackgate.com/ - Mon, 03/30/2026 - 12:00
1– BATTLEFRONT II IS PRETTY COOL

I’ve posted before that Fortnite is my kind of shooter. Fast-paced, high action games like Marvel Rivals, and Call of Duty, aren’t fun for me. And I pretty much just die. Fast and often. I’d rather go play a Solo RPG or something. I had been stuck since finishing Grim Dawn (which I wrote about here). I tried a couple games, including getting into Red Dead Redemption II (which I like, it just hasn’t grabbed me like LA Noire did). I false-started a half dozen games.

My son likes Star Wars: Battlefront II, which I briefly tried. Died repeatedly. Quit. But I decided to give it another go. It’s got a single player campaign mode, with multiple missions, as well as a few other solo options. But it was developed as a Multiplayer shooter, reminiscent of Team Fortress 2.

There was a huge controversy upon release in 2017, regarding micro transactions, and Electronic Arts stopped new content and support, in 2020. But the game has had a couple of resurgences and hit an all-time high in concurrent players last Summer. The game is what it is, and there’s a lot of content for the frequent $3.99 sale price.

I played the entire Solo campaign, in which you are primarily Iden Versio, leader of an Empire elite special forces unit. You have a wakening of the conscience and go to work for the Rebel Alliance. It’s often challenging, but fun. There are also individual Solo scenarios for the Light and Dark sides, where you can play a wide array of SW heroes and villains.

And I’ve played myself up to level 13 in Multiplayer. These are usually large-scale battles of a couple different types, along with options for smaller (down to 4v4) options. I die a lot, but you just re-spawn and continue. I’ve only encountered one blatant cheater so far.

I just wanna say, visually, this game is TREMENDOUS. It’s now 9 years old, and I love how it looks. The cut scenes are like mini-movies. Game play looks great. In space, on ships, on planets: this is a beautiful Star Wars game. I had the Dos-based X-Wing, in the early 90s. Battlefront II is a treat just to watch.

I wish there was more to the Solo campaign (it includes a short sequel), but that was never the heart of the game. The Multiplayer works well enough for me that I’m playing it regularly. It’s not as fun as Fortnite (or maybe, Fortnite is far less frustrating), but the Star Wars immersion is so deep I’m loading it up and blasting away. Check it out on sale and see if it’s your kind of Star Wars thing. The solo campaign was worth $4 alone.

2 – CARL HIASSEN IS A SMILE IN THESE MESSED-UP TIMES

I was a Carl Hiassen fan after he broke big back in the 80s. The Miami newspaper columnist wrote funny crime novels that captured what has become the Florida craziness. Strip Tease was a big-screen movie with Demi Moore. Recently, Apple+ made a Vince Vaughan show from Bad Monkey.

There’s a new Florida PI show, RJ Decker, on Tuesday nights. The character, if not the plots, is from Hiassens’ second novel, Double Whammy. I like the show, though after the first two episodes, they’ve significantly dropped the humor level, and it’s in danger of becoming just another cop show. Hope they get back on track.

There’s a character named Skink, in the book. He’s the former governor of Florida who simply walked away from the corruption and the office and lives in the swamps, eating fresh roadkill. He’s in several Hiassen books, though the show left him out.

Since I really liked the Decker pilot; and since the world is a dumpster fire that keeps getting hotter, I decided to revisit Hiassen.

Hiassen satirizes the absurdity of Florida life – which is also to say, people in general. Hiassen can be laugh-out-loud funny. In a different way from Douglas Adams, and Terry Pratchett. He exacerbates situations, but you don’t dismiss them. Because people are too ‘people-ish.’ They can be that dumb, or shallow, or evil.

What really appeals to me right now is that bad guys get their come-uppance. Often in fitting and hilarious ways. Not always SFW, either. You’ll never forget what a bottlenose dolphin does to a steroided-up security guard in Native Tongue. Bad things happen to ‘good’ folks during the books, but the villains pay their price in the end. And I need that these days.

Hiassen was a newspaper writer for years, and he had co-authored three thrillers, before he started writing funny Florida crime novels. I have re-read/re-listened to six of his first eight novels, and they are still really good, decades later. And they’re still fun. He’s an insightful writer, and a good one.

I started to be less enthralled around book ten, back when. We’ll see how many more I tackle. I know I haven’t read his two most recent adult books (he also writes young fiction) – maybe I should.

I unreservedly recommend Douglas Adams and Terry Pratchett. I think Red Dwarf fits in there, too, if a bit less, for me. I really think you should give Hiassen a try. I’d start with Tourist Season, or Double Whammy. But you don’t need to read them in order. Not even the Skink books (recommended for those, though). Or try Strip Tease if you remember the movie.

The laughs, and the bad guys paying for their crimes, is what I need right now. Hiassen delivers.

3 – JAMES LEE BURKE IS A MASTER OF HARDBOILED

I caught up on some Clive Cussler (well, his continuators) in January and February.  Now, I last read a James Lee Burke novel. Back in 2020. Swan Peak is book number 17 in his Cajun hardboiled series about Dave Robicheaux. It was from 2008, so I was a bit behind. Well, that series will be up to 25, later this year.

Before jumping down the Carl Hiassen rabbit hold, I read the next book in the series: 2010’s The Glass Rainbow. And I re-listened to the first, The Neon Rain. Two things about James Lee Burke have held true for almost forty years.

One is that he’s a superb writer. Probably my vote for the best modern hardboiled writer. I know Elmore Leonard has his supporters, and Donald Westlake was terrific. There are several excellent ones. I’m just saying that I’m a Burke guy.

The second thing, is that his books are dark. Disturbingly dark. Very bad things happen to people. Worse than ‘just’ death. Death is a release. Robicheaux – and often his buddy, Clete Purcel – go to great lengths to punish bad guys. But a Burke novel is the polar opposite of a Hiassen one, as far as crime books go. Having said that, The Glass Rainbow is classic Robicheaux. As of 2010, Burke was still a superior writer. I have the next book in the series. But I’d had enough dark for a while. I’ve liked almost every novel I’ve read, including some non-Robicheaux. But I have to be mentally ‘in a place’ for Burke. This isn’t like reading Cussler, or Higgins, or even John D. MacDonald. But The Glass Rainbow was a good read, and I will go on to Creole Belle.

And if you can find the unabridged audiobooks by Will Patton (seems mostly just abridged are out there now), get those. I really didn’t care for the guy reading them now.

4 – NATHAN FILLION IS THE KIND OF GUY WE NEED

Fillion turned 55 last week. He started out on a soap opera, briefly flew on Firefly, was Captain Hammer (corporate tool), became a mainstream star on Castle, and is currently heading up The Rookie. He’s both a ‘star’ and a nerd. And he revels in it all. He recently started a podcast with real-life buddy Alan Tudyk – Once We Were Spacemen. Which I wrote about here.

I wrote about the Firefly buzz a couple weeks ago (zero comments? C’mon, Byrne fans!). Hopefully the animated series project will find a home. I’m almost done with this re-watch of Firefly, with Serenity to follow. I watched Dr. Horrible’s Sing-Along-Blog again last week, and it’s still delightful.

If you see other people talk about Fillion (ie, Katie Sackhoff on her own podcast), there is nary a discouraging word. It’s like EVERYBODY knows him from his wide-ranging career. And to a person, they say he’s genuinely nice. He treats people like they matter. Not just powerful people. Fans, crew, people he runs into: everyone has nice things to say about him.

His coworkers (not named Stana Katic) praise how he makes everyone comfortable as part of the team. Jewel Staite says she calls him for professional advice. You hear story after story praising him.

Our culture loves to cancel people we deem ‘not nice.’ Legacies are tarnished or destroyed – not always justifiably. Fillion is the guy people want to be around. And that’s cool to see.

I am a fan of Firefly, Dr Horrible, Castle, Con Man (which I talked about here), and I liked him on Desperate Housewives. When you listen to Once We Were Spacemen, you hear all these great stories from his life. And about him and Tudyk buddying around in real life. Bruce Campbell and Nathan Fillion are two actors I like rooting for and watching.

Go to Youtube and pick a couple Spacemen episodes. They’ve had guests from their careers on, including most of the Firefly bunch. I recommend the Felicia Day one a few weeks ago. That was really fun. But honestly, they all are.

And watch a couple interviews he does. You’ll see how people feel about him. It’s cool.

5 – I CANCELED ALMOST ALL MY STREAMING SUBS

So, There are too Many Subscriptions was my fifth item on the February Five Things. I talked about how I was fed up with how many subscriptions I seemed to need to watch and listen to stuff. So much for ‘cutting the cable.’ So, I had canceled Paramount+ and Peacock. And Audible, and Kindle Unlimited. And I switched home Wifi, cutting that bill in half.

Well, I continued on, pulling the plug on Hulu LiveTV (meaning no Disney or ESPN), and Spotify. Along with a credit card I didn’t need, I knocked off $225 a month for stuff I could live without.

I did buy a digital antenna, which picks up my local area stations. And I kept Prime – partly because my son buys more stuff on it than I do. I am using Roku’s Life TV, Pluto, and Plex; all of which are free. I’ve dug out shows like Emergency!, and Simon and Simon. With Prime I can watch Castle, and Poirot. Plus whatever movies they haven’t started charging for. Yet.

I basically gave up on hockey and soccer, and mostly baseball. Won’t be much football, either. But I’ve watched a lifetime of sports. I can leave them behind to avoid paying multiple platforms to see them. I’ll check online for standings and news.

I haven’t bought a DVR system (and my TV requires a USB port to use an SSD drive, which is already tied up), so no recording anything. I actually sit down at 8 PM on Tuesday night and watch Best Medicine, running to pee during the commercials. And then RJ Decker at 10. Just like the cavemen watched TV!

In Ohio, the Public Utilities Commission is corrupt as FIFA, and my electric bill has more than doubled, with another rate increase approved last week. So, that’s eating up these savings. But the whole ‘cut the cable and save money with streaming’ was fools gold. I ended up paying more for even more channels I never watched. I finally said “No thanks.”

6 – JAMES TOLKAN COULD BE ONE SERIOUS DUDE

Actor James Tolkan died last week. He might be best known as the guy who told Maverick (Tom Cruise) “Your ego is writing checks your body can’t cash” in Top Gun. He had mastered that ‘no-nonsense’ role way back in War Games. And he delivered more of the same as Vice-Principal Strickland in Back to the Future. He had no use for slackers!

I’ve written about A&E’s terrific A Nero Wolfe Mystery (back when A&E wasn’t a garbage network). Tolkan was a key part of that ensemble cast, appearing in 14 of the 20 stories which were adapted. He was his typical self as FBI Special Agent in Charge Richard Wragg. But he got to branch out, like he did as Avery Ballou. He oddly had a Sherlock Holmes deerstalker on as a dog handler in Die Like a Dog. Speaking of Sherlock Holmes, he had a minor role in They Might Be Giants.

And he was an utterly despicable old man in an episode of Leverage. Talk about rooting against the bad guy in that one! Tolkan had a long career of performing well on screen.

7 – I’M READY FOR THE MANDALORIAN & GROGU

I’ve shared my feelings about Andor (loved Rogue One, but I’d rather re-read Splinter of the Mind’s Eye, and I haven’t encountered so much pretentiousness since the last time I had an Amazon return at Whole Foods).

I am SOOOOO looking forward to The Mandalorian movie hitting theaters in May. I shall be in attendance. This fun, action flick is exactly the Star Wars I need. Live-action Zeb is cool (loved Rebels), and every part of the trailer worked for me. I’m not a theater guy anymore, but Star Wars will always bring me to a big screen.

And if you ask, I DNFed Skeleton Crew. Couldn’t have been less interested. I don’t begrudge people liking something. Good for them. But I’m not drinking anybody’s Flavor Aid. I’ll just wait for something I like.

I expect The Mandalorian and Grogu to fully meet my Star Wars expectations. My first post about that great show.

8 -YOU SHOULD WATCH DR. HORRIBLE’S SING-ALONG BLOG

I absolutely will be doing a post dedicated to this gem of a web series, which grew out of the 2007-2008 Writers Guild of America strike. It’s not streaming anywhere, which is silly. But I pull it up on youtube and cast it to my 50” TV. The soundtrack is out there, including on Spotify.

It is 45 minutes of pure fun. Neil Patrick Harris is fantastic. Watching him is a treat. And the guy can sing. Nathan Fillion delights as Captain Hammer (corporate tool). He can sing, as well. Felicia Day shines as the girl between them. And she actually went to school on a violin scholarship. She knows music.

I was hooked in the very opening scene (ha haaa ha ha ha haaaaaa). Harris’ monologue is great. And things just keep getting better as Penny, and then Captain Hammer, enter the story. Simply put, this is my favorite musical. I can watch it on back-to-back days and it’s still fresh and fun. The music is great. And while Fillion and Day are so good, Neil Patrick Harris understatedly dominates every scene he’s in. You see the shift in his character at the 25 minute mark, on his face. He’s an outstanding actor. Love his singing voice, too.

I praise Con Man in my nerd circles. It’s a sci-fi homage any fan (especially of Firefly) should enjoy. Dr. Horrible is less than an hour out of your day, and it’s worth every second of it.

Prior Things I Think I Think
Five Things I Think I Think (February 2026)
Five Things I Think I Think (January 2026)
Four Things I Think I Think (May 2025) 
Six Things I Think I Think (March 2025)
Ten Things I Think I Think (January 2025)
Ten Things I Think I Think (December 2024)
Nine Things I Think I Think (October 2024)
Five More Things I Think: Marvel Edition (September 2024)
Ten Things I Think I Think: Marvel Edition ( September 2024)
Five Things I Think I Think (January 2024)
Seven Things I Think I Think (December 2023)
Talking Tolkien: TenThings I Think I Think (August 2023)
A (Black) Gat in the Hand: Ten Things I Think I think (August 2023)
5 More Things I Think (March 2023)
10 Things I Think I Think (March 2023)

Bob Byrne’s ‘A (Black) Gat in the Hand’ made its Black Gate debut in 2018 and has returned every summer since.

His ‘The Public Life of Sherlock Holmes’ column ran every Monday morning at Black Gate from March, 2014 through March, 2017. And he irregularly posts on Rex Stout’s gargantuan detective in ‘Nero Wolfe’s Brownstone.’ He is a member of the Praed Street Irregulars, and founded www.SolarPons.com (the only website dedicated to the ‘Sherlock Holmes of Praed Street’).

He organized Black Gate’s award-nominated ‘Discovering Robert E. Howard’ series, as well as the award-winning ‘Hither Came Conan’ series. Which is now part of THE Definitive guide to Conan. He also organized 2023’s ‘Talking Tolkien.’

He has contributed stories to The MX Book of New Sherlock Holmes Stories — Parts III, IV, V, VI, XXI, and XXXIII.

He has written introductions for Steeger Books, and appeared in several magazines, including Black Mask, Sherlock Holmes Mystery Magazine, The Strand Magazine, and Sherlock Magazine.

You can definitely ‘experience the Bobness’ at Jason Waltz’s ’24? in 42′ podcast.

Categories: Fantasy Books

OUT NOW – Grandmaster!

Christopher Nuttall - Mon, 03/30/2026 - 10:28

A new stand-alone novel set in the Schooled in Magic universe!

A hundred years before Emily, the world is in chaos. The Empire is in ruins. Old certainties are collapsing everywhere. The provinces are becoming kingdoms, the magical aristocracy is trying to redefine its place in the new world disorder, the commoners are being ground under and bold or desperate men are preparing their bids for apotheosis or nemesis. The world teeters on the brink … and Whitehall School is caught in the middle, a pawn of greater powers.

For common-born magicians Alan and Irene, scorned and despised by their aristocratic peers, the challenge is to keep their heads down long enough to graduate and go out into the world as qualified magicians. For Walter, Heir to House Ashworth, the challenge is to take advantage of the chaos to build an unassailable position and put himself in firm control. For Hasdrubal, Charmsmaster of Whitehall, the challenge is to protect the school from outside powers seeking to subvert or destroy it …

And they will all be swept up in a desperate battle to save Whitehall, because the school is now the centre of a plot to remake the world once and for all.

Read a FREE SAMPLE, then purchase from Amazon USUKCANAUSDraft2Digital or my Private Bookstore.

Categories: Authors

Review: Platform Decay by Martha Wells

http://fantasybookcritic.blogspot.com - Mon, 03/30/2026 - 09:00



Buy Platform Decay
FORMAT/INFO: Platform Decay will be published on May 5th, 2026 by Tor Books. It is 256 pages long and available in ebook, audiobook, and hardcover.

OVERVIEW/ANALYSIS: The mission: secretly extract friendly humans from enemy territory. The location: a planet-sized space port controlled by multiple corporate sectors, with a mix of tourists, workers, and security making life difficult. The target: multiple humans, including...children. Ugh. Murderbot may be up to the task, but that doesn't mean it has to like it. Looks like watching Sanctuary Moon will have to wait...

Platform Decay is that wonderful blend of action and character that reminds me why I love Murderbot. The plot itself is pitch perfect. It's a classic extraction mission: Murderbot must sneak into a planet-sized space port, find its protectees, and escort them to safety. That means we get some stealth and espionage, as well as full-tilt firefights as Murderbot goes about its job. The story might be considered bland were it not for both the constant shifting of environments as Murderbot goes from zone to zone across the station and the trademark deadpan exasperation it has for almost anything humans do.

I would have thoroughly enjoyed my time with this novella if that was all there was, but there are some great character beats scattered throughout that are the cherry on top. Murderbot, you see, is trying some new approaches to processing its feelings after the events of book seven, System Collapse. The result is some small quiet scenes that nevertheless show some growth for Murderbot as it continues its journey to get a handle on this while emotions thing.

At the end of the day, all you really need to know is that Murderbot is back and is operating at peak form. If you're a fan of the series, you'll be well rewarded and if you haven't started yet...why are you reading this review, go start the series!

Categories: Fantasy Books

Early Review – The Faraway Inn by Sarah Beth Durst (4/5 stars)

http://hiddeninpages.com/ - Mon, 03/30/2026 - 08:29

Reading Level: Young Adult
Genre: Contemporary Fantasy
Length: 384 pages
Publisher: Delacorte Press
Release Date: March 31, 2026
ASIN: B0FH1G5QT9
Stand Alone or Series: Stand Alone
Source: eGalley from NetGalley for Review
Rating: 4/5 stars

“When sixteen-year-old Calisa arrives at her great-aunt’s B&B in rural Vermont for the summer, she’s shocked to find a rundown inn rather than the cozy bed-and-breakfast she was expecting. Grumpy and eccentric, Auntie Zee is determined to keep anyone from messing with her beloved inn . . . even though she clearly needs the help.

To convince her great-aunt to keep her around, Calisa sets to work fixing up the inn, enlisting extra help from the groundskeeper’s (handsome) son. But the longer she stays, the surer she is that there’s something strange about the B&B—and its guests. Something almost . . . otherworldly.

The inn is keeping a magical secret—but to protect the place she’s come to love, Calisa must unravel the truth before it’s too late.”

Series Info/Source: This is a stand alone book. I got an eGalley of this from NetGalley to review.

Thoughts: I ended up really enjoying this but thought the beginning came off as much more juvenile sounding than a lot of Durst’s other books (maybe because it is more aimed at young adult readers). I am a huge fan of Durst and have read most of her books. This definitely comes off as more middle grade/young adult than her other adult fantasy books. I enjoyed the premise and found this easy to read.

Calisa’s boyfriend cheated on her, and she needs to get away for the summer to decompress from the drama. Her moms suggest spending the summer at her Aunt Zee’s inn helping out. When Calisa arrives she find that Aunt Zee does not want her there. Not only that, but the inn is really run down and a bit…odd. Aunt Zee gives Calisa three days to visit and then wants Calisa to leave. Calisa is desperate to convince her Aunt that she needs to stay the summer. Then Calisa starts noticing odd things about the inn…

Calisa grew on me as a character, although initially I thought she seemed a bit immature and naive about things. As the story continued, you start to see more of her depth. All of the characters in this book lack some depth and seem a bit stereotypical. I was surprised by that because I am normally sucked in by Durst’s characters (although lately I have been reading her adult novels). Maybe that is because this is a stand alone, but I wanted to know more about how the characters thought and felt. Especially Aunt Zee, she kind of remains a mystery, and I would have loved to learn her background.

I loved the inn and the magic there but again felt like I didn’t get to learn enough about it. How did this inn get to be, how does the travel work? I kept feeling like this would have been a better duology or trilogy that would have allowed more page space to add a bit more depth to this cool inn and the characters that dwelt there. Maybe we’ll get a companion book from when Aunt Zee was younger or for one what happens after this book.

I also thought the reveal about what Aunt Zee was felt abrupt, and then we never really learned more about her type of magic. I wanted to learn more about this and have it expanded on. I also thought the intriguing visitors to the inn were kind of glanced over. They seemed like interesting characters sketches that weren’t fully realized.

This is a cute YA contemporary cozy fantasy read. I enjoyed it and read it quickly. My main complaint is everything about it felt a bit too simple; the characters, the world, the story, and even the dialogue. It’s still a really good read, I just feel like it could have been an amazing story if it wasn’t forced into this one short volume.

My Summary (4/5): Overall I liked this story and thought it was a fun, simple, cozy, contemporary fantasy read. My main complaint is everything felt a bit too simple and under-explained. How did Aunt Zee get to where she was? How did the Inn get there? Calisa felt pretty immature and naive for an older teen as well, although she did gain a bit more depth and grow on me as the story progressed. While this wasn’t my favorite Durst book, it was a fun one. I would love to see some companion novels written about this world.

Categories: Fantasy Books

Probing Questions, Part 2

https://www.blackgate.com/ - Mon, 03/30/2026 - 04:59
No One Will Save You (Hulu, September 19, 2023)

Hold onto your butts — my new watch-a-thon continues! You can find Part 1 here.

Who likes alien abduction flicks? I’ll soon fix that.

No One Will Save You (2023)

Kicking off the second half of this truncated list with the best invader film by far, 2023’s No One Will Save You, which had a somewhat muted limited theatrical release and subsequently can be found on Disney+/Hulu, but should not be overlooked.

Brynn (played brilliantly by Kaitlin Dever) is a young woman coming to terms with the death of her best friend and her mother. Her friend’s death is partly her fault, and for this reason she has been ostracized by the nearby town and is now living a solitary life in an expansive inherited farmhouse. Her grief is rudely interrupted by a home intruder, who only turns out to be a flippin’ alien.

After successfully fending the creature off, her life rapidly spirals into a deadly game of cat and mouse with more invaders, and a town overrun with mind controlling parasites.

This is a solidly made film, with genuine creepiness running throughout and impressive effects. The plot takes a couple of unexpected turns, and gets a little too frantic for my liking in the third act, but the build up is great, and the final payoff is thought-provoking. Definitely worth a watch.

9/10

Watch the Sky (ROC Film Partners, 2017) Watch the Sky (2017)

Apparently this one was based on a YA novel, and you get the feeling that the filmmakers just took all the dull character introduction paragraphs and threw them into a screenplay blender.

The premise isn’t bad; a pair of brothers send a camera into the stratosphere strapped to a weather balloon to get some shots of our fair planet, but their actions gain the unwanted attention of a gaggle of cow-fiddling aliens, and a government agency that believes boys should be poking frogs with sticks, not doing ‘science stuff’.

This flick has a bit of a faith-based tinge, combined with a coming-of-age flavor, covered with sprinkles of teen emotions, and is therefore all over the place, taking its sweet time to get to any actual alien stuff, and fluffing the catch when it does so. You’ll be delighted to learn that not only does the film end abruptly and leave itself open for a sequel, but I can’t find any evidence that a sequel is being made.

4/10

Alien Hunter (Columbia TriStar Home Video, July 19, 2003) Alien Hunter (2003)

This American/Bulgarian production is one of those forgotten films that you suddenly realize you’ve never seen, seek out, and then regret. Ah, but I’m being a little harsh, for as daft as much of it is, there are some gems to be unearthed along the way, so let’s dig in.

James Spader plays Julian Rome, the horniest cryptologist the University at Berkeley has ever known. We know this because during his introduction he delightedly receives an email with the subject line ‘SEX’, and the message ‘I WANT YOU.’ Before he can bang another student however, he is yanked off to an Antarctic research base to aid a team who have just discovered a weird, pod-like structure in the ice, and who presumably have never watched The Thing.

This object is emanating a signal sound, which Rome is tasked to decipher. Naturally he does so (it translates to ‘Do Not Open’) just as the team opens it. An alien emerges from the shell along with a ghastly liquid virus that kills most of the team, and now, in a rare moment of solidarity, the US government has asked a Russian sub to launch a nuclear missile at the facility.

Can Julian Rome find out what the alien’s agenda is? Will they all die in a fiery inferno? Is that student still waiting for a reply?

Only good for Spader completists.

6/10

Flatwoods (Ghost Cat Films, April 5, 2022) Flatwoods (2022)

Here’s a film that can’t decide if it wants to be a serious expose of the Flatwoods Monster based on West Virginia folklore, a documentary of one woman’s struggle to uncover the truth, or a mockumentary chock full of tropes and poor filmmaking decisions, and fails at all three.

Mandy June Simpson plays Carol James, a documentarian on the hunt for the truth about the Flatwoods Monster, a creature as elusive as Bigfoot’s accountant. She visits the Flatwoods Monster Museum (a real place) and takes in a plethora of rubbish drawings, blurry photos and expensive souvenirs, while talking to local residents and obligatory weirdos. The film jumps from scene to scene with nary a care for stylistic continuity or progression, and the final reveal is limper than a piece of kelp in a carwash.

I very nearly didn’t finish this one, but I hate-watched it to the end purely because I’m dedicated to my craft.

3/10

Monsters of California (Screen Media, June 10, 2023) Monsters of California (2023)

Tom DeLonge of Blink-182 sets out to make an epic sci-fi/monster mash, and turns in quite the atrocious mess. Well done, Tom.

We are introduced to a group of stoner dudes and dudettes who are trying to Scooby-Doo the shit out of a supposedly haunted house and get their asses handed to them by a ghost, or something. This does nothing to curtail their paranormal investigations though, and we are ‘treated’ to various scenes of them doing other spooky stuff, including a spectacularly cringe-worthy sasquatch encounter.

When the most sensible one out of them, Dallas (played by Jack Sampson), stumbles across a military macguffin, the gang must fend off the government, aliens, and dick punches, as they blunder from one horribly scripted moment to the next. The dialogue is terrible, the pacing all over the place, and a couple of fun actors, Casper Van Dien and Richard Kind, are thoroughly wasted. The big reveal, that aliens are already among us and helping humanity to advance, begs the question ‘how long is this advancement going to take?’, because by God all the characters in this film need a helping hand.

A great time for anyone who likes mom jokes, spying on sunbathing girls, and dick punching.

4/10

Explorer From Another World (Piranha Drama, October 30, 2024) Bonus: Explorer from Another World (2024)

I just watched this 45-min short and wanted to slip it in as it meets the criteria just as vaguely as some of the other entries on this list.

I nearly turned it off after 30 seconds as I was convinced I’d stumbled across an A.I. generated film, but aside from some suspicious moments, the film is generally a human effort. The story is slight (alien explorer visits Earths, chaos ensues), the script is purposefully tongue-in-cheek, the acting ranges from okayish to terrible, and the wigs are awful in that shiny nylon way (there are a LOT of wigs).

I don’t mind a pastiche, but I can’t forgive average filmmaking, and the shot choices and editing left a lot to be desired. However, I also can’t stay mad at it, because the filmmakers leaned into the practical gore effects with gusto, and I chortled once or twice as the human fodder got offed in ascending levels of grue and stickiness.

If you’ve got a little bit of popcorn left at the bottom of your Project Hail Mary popcorn bucket, stick this on and suck on those kernels.

6/10

Previous Murky Movie surveys from Neil Baker include:

Probing Questions, Part 1
My Top Thirty Films
The Star Warses
Just When You Thought It Was Safe
Tech Tok
The Weyland-Yutaniverse
Foreign Bodies
Mummy Issues
Ch-Ch-Ch-Ch-Changes
Monster Mayhem
It’s All Rather Hit-or-Mythos
You Can’t Handle the Tooth
Tubi Dive
What Possessed You?

See all of Neil Baker’s Black Gate film reviews here. Neil spends his days watching dodgy movies, most of them terrible, in the hope that you might be inspired to watch them too. He is often asked why he doesn’t watch ‘proper’ films, and he honestly doesn’t have a good answer. He is an author, illustrator, teacher, and sculptor of turtle exhibits.

Categories: Fantasy Books

Updates on my books, writing, and the Realm of Zadrya series

Susan Illene - Sun, 03/29/2026 - 16:15
Writing and publishing plans, Dolly the crazy chicken update, one of my series leaving KU, and other news.
Categories: Authors

Book Review: Dollface by Lindy Ryan

http://Bibliosanctum - Sun, 03/29/2026 - 07:41

I received a review copy from the publisher. This does not affect the contents of my review and all opinions are my own.

Dollface by Lindy Ryan

Mogsy’s Rating: 4.5 of 5 stars

Genre: Horror

Series: Stand Alone

Publisher: Minotaur Books (February 24, 2025)

Length: 304 pages

Author Information: Website | Twitter

Ever since her Bless Your Heart series, I’ve been on a bit of a Lindy Ryan kick. So, I went into Dollface already expecting a good time, and honestly, it was awesome! This book is like a love letter to the classic slasher movies with just the right amount of self-awareness to pull off the campiness, and despite the violence and chaos, its lively tone ensures that things never get too heavy.

The story follows Jill, a horror author who has just relocated to suburban New Jersey with her husband and young son. Struggling with writer’s block, she’s hoping the change of scenery might even offer a little inspiration for her next book. Instead, she finds herself immediately roped into the baffling world of PTA mom politics and meetings, thanks to her bubbly new neighbor who volunteers Jill for a position on the committee. Unsure how well she’ll fit into this strange new social ecosystem, Jill nonetheless decides to make the best out of the situation, using the opportunity to settle in and make friends.

But suddenly, things take a terrifying turn. A mysterious killer begins targeting the women in the community, starting with the barista at the local coffee shop. And then, one of Jill’s fellow PTA moms is brutally attacked in her home. Could these incidents be connected? As more women are attacked, Jill is starting to think so. After all, she’s no stranger to slasher movies, and as the body count continues to rise, she also can’t help but notice a pattern emerging. The killer wears a plastic doll mask, appearing to choose their victims and methods with a specific purpose. Things are shaping up to be just like the kind of stories she writes about, making Jill think she’s on to something. But can a horror author and PTA mom turn detective and crack the case before she becomes the final girl?

This meta quality of Dollface is where it really shines, with the story going all in on embracing its inspirational origins while affectionately poking fun at them. Take the masked killer, for example, reminiscent of Ghostface of the Scream franchise but reimagined with an uncanny twist that’s both a little creepy but also ridiculous in the best way. Fans of the classic slashers will recognize all our favorite tropes, and what makes it even better is that our protagonist knows all these tropes too! Jill sees them happening in real time, literally even calls them out, but still makes the same kinds of mistakes that land her deeper into trouble. And yet, readers know all this is done by design, because Lindy Ryan is a great sport.

That tongue-in-cheek energy also adds a lot of charm to the story. There’s something genuinely entertaining about watching a horror-savvy character try to outmaneuver a narrative she considers herself an expert in but still messes up. But the fact that Jill is such a congenial protagonist gives this book a playful edge, almost like it’s in conversation with the genre itself, rather than simply existing in it. She’s also an endearing and uplifting figure, despite plenty of trauma and heartbreak in her past. It’s just hard not to root for a character who keeps soldiering on, even in the face of looming publisher deadlines or all the absurd crap she has to put up with from the PTA.

Yet here the supporting cast shines through as well, with the over-the-top moms and neighbors that make up Jill’s new social circle. If you’re wondering if there might be a satirical element to this, the answer is absolutely! The suburban dynamics are exaggerated and a little ridiculous, but that is clearly the point. Even so, the portrayal never feels truly negative. Instead, it comes across as affectionate, rendering the characters in a larger-than-life way that perfectly suits the tone. The novel knows exactly what its going for and doesn’t take itself too seriously, which works well in its favor.

At the end of the day, that’s really the key to enjoying Dollface. Get ready for something quirky, a little messy, but also very self-aware. Rather than trying to reinvent the genre, it embraces it, plays with its conventions, and has a blast along the way. In between all the nostalgic moments and nods to classic horror, there’s humor and there’s gore, coming together beautifully to create a story that’s just plain fun.

Categories: Fantasy Books

Hi Cassie ❤️ I have a silly question about Kit’s style: We’re all aware that he has that jacket on 24/7, but what does he wear besides that? What does he wear when he washes that jacket? Will he just freeze?

Cassandra Clare - Sun, 03/29/2026 - 00:01

Actually I had to deal with the fact that Kit at eighteen/nineteen cannot POSSIBLY fit into a jacket he had when he was fifteen so he obviously had to go out and buy the exact same jacket in a larger size. Which does get mentioned. Kit thinks that might make him weird, and it probably does.

(He does take it off when he wears gear, though, and enough time doesn't really pass in TKLOF to worry about laundry.)

Categories: Authors

CAST IN BLOOD preview chapters

Michelle Sagara - Sat, 03/28/2026 - 16:25
First: I want to apologize. I normally post the full cover (front, spine, back), but… I missed the window to download that from the publisher =/. Second, someone in comments asked about sample chapters—and I realized that it is, in fact, the end of March, and Cast in Blood is coming out on the 28th of April. So: I have sample chapters, and the regular front-only cover. Much of my day is focused on my youngest at the moment, but as he gets used to being at home, he is much, much happier than he was during his long hospital stay—and that makes things easier for me. It gives me more of my brain-space back; it gives me room to think … Continue reading →
Categories: Authors

Camelot Fantasy Novels | 6 Paths of Hope, Courage, Fairness and Justice

http://litstack.com/ - Sat, 03/28/2026 - 14:00
Camelot fantasy novels

Camelot fantasy novels have always held a special place in our hearts, reading that offers…

The post Camelot Fantasy Novels | 6 Paths of Hope, Courage, Fairness and Justice appeared first on LitStack.

Categories: Fantasy Books

Book review: Red Empire by Jonathan Maberry

http://fantasybookcritic.blogspot.com - Sat, 03/28/2026 - 09:00

Book links: Amazon, Goodreads
ABOUT THE AUTHOR:
Publisher: Page count: Formats:

Jonathan Maberry’s Red Empire is the fifteenth Joe Ledger novel and the fifth Rogue Team International book. At this point, the series is long enough that picking up a single entry without context is a bit like walking into season twelve of a TV show and hoping for the best. Maberry does try to make the story understandable on its own, but the emotional weight, the grudges, and half the revelations only really land if you’ve been here for the long haul.
I have. And that probably means I liked this book more than it objectively deserves.
We finally got the long-promised look into Mr. Church. For years he’s been the most mysterious person in the series - Ledger’s boss, puppet master, and occasional badass. Red Empire finally digs into who he is and where he came from. The answers are satisfying. Maberry reveals a lot, but leaves room for questions. The infamous cookie code, for example, remains unsolved. 
Also, the Red Order is back and that means things will spiral fast. These genetically altered vampire-like warriors take center stage again. Their return ties together a lot of old plot lines. It also allows Maberry to reach deep into history, jumping back to the Crusades and the Black Death. I loved the  historical sections that made a lot of things clearer. 
On the modern-day side, a weaponized version of the bubonic plague may wipe away humanity. Between that and the usual Joe Ledger combat scenes, this book gets very violent. Anyone squeamish should probably look elsewhere. Longtime readers already know the deal and enjoy brutal fights, ugly deaths, and the constant sense that no character is entirely safe.
And yes, some familiar faces die.
Maberry has been thinning the cast regularly for years. Fans are used to it, even if it still stings when it happens. The series has always balanced its action with the sense that these people matter to each other, and when one of them goes down it hurts.
The action itself is fast, loud, and relentless. The last third of the book in particular barely slows down. There’s a long siege inside a sealed London skyscraper where plague, terrorists, and Joe Ledger collide. It’s chaotic, tense, and a lot of fun to read.
After fifteen books, the characters feel like old teammates. Ledger’s grim humor still works. Havoc Team still operates like the world’s most dangerous family. And when Maberry throws them into chaos, it’s easy to get pulled along.
In the end, Red Empire isn't the tightest book in the series but it is one of the most revealing. It finally opens the door on Mr. Church’s past, pushes the Red Order storyline forward in a big way, and reminds readers why this series has lasted so long.

Categories: Fantasy Books

Neverwhens: Existential Horror and Medieval Mystery Play meet in Between Two Fires

https://www.blackgate.com/ - Sat, 03/28/2026 - 07:03

Last week, I had the dumb good luck to be sitting to dinner with Christopher Buehlman just after the news came out that Nightfire’s new edition of Between Two Fires had hit #4 on the Bestseller list.

I want the record to show I was on the BTF train long before that.

Indeed, Buehlman, who’s garnered a lot of (deserved) attention for his recent fantasy novels The Black Tongue Thief and The Daughter’s War, had a previous career writing horror, including some of the most creative horror novels (IMO) of the 21st century I have had the privilege to read, and definitely one of the best vampire novels of all time (The Lesser Dead).

But any student of the fantasy genre knows that horror and fantasy, especially the sort of “street level” fantasy found in Sword & Sorcery or Grimdark, shares a large dose of its literary DNA with horror. And so, over a dozen years ago, Christopher Buehlman penned his first fantasy novel under the guise of horror (or is it horror under the guise of fantasy?): Between Two Towers.  The premise was brilliant: what if what medieval people believed was simply… true… and the Black Death was a supernatural event, devils running amok on Earth.

The year is 1348. Thomas, a disgraced knight, has found a young girl alone in a dead Norman village. An orphan of the Black Death, and an almost unnerving picture of innocence, she tells Thomas that plague is only part of a larger cataclysm — that the fallen angels under Lucifer are rising in a second war on heaven, and that the world of men has fallen behind the lines of conflict.

Is it delirium or is it faith? She believes she has seen the angels of God. She believes the righteous dead speak to her in dreams. And now she has convinced the faithless Thomas to shepherd her across a depraved landscape to Avignon. There, she tells Thomas, she will fulfill her mission to confront the evil that has devastated the earth, and to restore to this betrayed, murderous knight the nobility and hope of salvation he long abandoned.

As hell unleashes its wrath, and as the true nature of the girl is revealed, Thomas will find himself on a macabre battleground of angels and demons, saints, and the risen dead, and in the midst of a desperate struggle for nothing less than the soul of man.

Sexy, right?

Unfortunately, the book crashed-and-burned in the realm of sales, stalled its author’s career in the horror genre and really was only known by those who were already fans — 14th-century history geeks like me.

Flash forward to two successful fantasy novels and Tor suddenly gets the brilliant idea it should re-release the novel (via its horror imprint) in a hardcover with sprayed pages and fancy endpapers and voila! A success. It should be. It always should have been. You should read it.  Because, although the above synopsis is spot on covering the plot, it only sort of tells you what the novel is about.

Certainly, this is a book with some big action sequences, following the format of a quest novel as our characters travel down a river and make their way to Avignon. But you know, The Heart of Darkness is a “journey down a river” story too, and yet a lot more is going on inside the narrator’s head and in the eventual meeting at journey’s end, than the plot about steamer trip down the Congo with an attack by natives, and a very much failed attempt to bring the missing man back.

In a very similar vein, BTF is far more Heart of Darkness than Lord of the Rings: each of our characters are very much on a journey inward as they outwardly travel, and the very palpable, very real manifestations of Hell have the powers they do because of what lives in the human heart. Along the way, the author is creating a story comprised of common genre tropes and turns them all on their heads.

Trope #1 The Young Savior and Old Guardian

We know this one: a young, pre-pubescent girl or boy is the unbeknownst savior of humanity and must make some dangerous journey. Along the way they are befriended by a grizzled, disenchanted or unlikely warrior past his prime, forming an odd couple. Name your story and characters here: from the original intent of Strider vis-a-vis Frodo to John Connor and the T800 in Terminator 2: Judgment Day, to the tale of Arya Stark and the Hound in A Song of Ice and Fire.

Eragon has this. The movie Ladyhawke has a lower-stakes version of it, with a love-story thrown in. Hell, you can probably wedge Luke and Han in there, because Luke’s such a youthful innocent in Episode 4. Point is, it’s been done, a lot, with lots of variations.

Yet BTF’s Delphine is literally not that pre-pubescent heroine (for reasons I will withhold) and she really may be mad. Also, in this case our tale is told far more from the PoV of the disgraced knight-turned-routier, Thomas, so we can debate who is truly assisting whom…

Trope #2 The Embittered Hero-Despite-Himself

Thomas is our *primary* PoV character, which is unusual in the Young Savior story, but the embittered, fallen man who suddenly finds himself with a chance to be something more “this one last time” is not. This story has played out so many times, in so many ways, I’d waste my time listing them but think of much of Clint Eastwood’s later film career from Unforgiven forward, about half of the noir cannon, and so forth.

But tropes are only problematic when they have nothing new to give and there is a great deal here. All I will say is that anyone will see some of themselves in Thomas if they can recall being 20 and full of dreams, then one day being middle-aged and not sure how they got there; or has had a marriage fail or lost a dear friend and knows they own some of that failure; or who finds themselves struggling to believe in a higher purpose or ideals in a world that seems increasingly not just callous, but actively ruled by the hostile. Like the best of “literature,” BTF is being driven by these characters, whom you will come to love and worry about, and whatever they are. Only, unlike a lot of modern literature, it actually uses the workings of plot to help tell their tale.

Trope #3 The Quest

I mean, duh. It’s literally a journey to bring a message to the Pope from God (or not). Quests are old as time, and they are often linear. The in-world name of The Hobbit is literally “There and Back Again.” One could argue that a linear journey “there and back” is all that drives The Lord of the Rings, or in Woodrow Coll and Gus Macrae’s long journey in the greatest American quest novel, Lonesome Dove. (Maybe someday I will sit down and write a column on why the real “American Tolkien” is not white-bearded, former TV-writer with an unfinished hack-job of the War of the Roses with elements directly lifted from better writers but Larry McMurtry, but I digress.)

But without doing a Joseph Campbell deep-dive, the “quest” tale is a mythic version of the pilgrimage — a journey part and parcel to the Medieval lived experience, and still lived today. Santiago de Campostella, Rome, Jersualem — theses were the great destinations, but many more existed from Chartes to Canterbury. The Quest, expressly the Grail Quest, had dominated medieval literature since the 12th century and was decidedly popular in the 14th, and southern France, site of the fallen “Languedoc” with its Cathars, and Marian-cult, its Courtly Love — and a lot of the Grail literature, is where the French popes had set up shop. Sauron squatting in Minas Tirith.

This makes Avignon the PERFECT place for our heroes to travel in a world in which the devils of Hell are literally running amok. Avignon was *not* a pilgrim’s destination; rather it was the seat of the Babylonian Captivity of the Church, a vast, beautiful papal residence that had begun as a forced retreat for the Bishop of Rome, and then the gilded cage where the papal institution found itself captive to the ambitions of French kings and French cardinals. The damage caused in the fight to return the papacy to Rome cast a long shadow that takes us to the deadly Wars of Religion in the 16th century. In a way, nothing could be more the Mordor of Christendom, whatever the pope’s role as Vicar of Christ on Earth.

So now, imagine if Frodo’s job was to go find Sauron and say, “hey buddy, I know you and the Valar had a falling out, but I have a message from Eru the One, and he needs you to listen so you can save us from Morgoth.” Gonzo, right?

Trope #4: The Devil

This is the biggie. Lucifer the Lightbringer, Satan, Old Nick — the Adversary is a recurrent theme in literature who really only lost his power as a compelling villain in the post-modern world, which sometimes struggles to even acknowledge the idea of *evil*. The modern literary Devil’s largely relegated to film, which needs to make its supernatural villains easily understandable to wide audiences, or he is “contemporized” as one more dark god in a universe with counterparts like Loki, Set, Hades, yadda yadda (see, for example, the way Lucifer fits in to the DC Universe in Hellblazer or The Sandman). Sometimes, he’s even just a chummy ne’er-do-well you can’t help but like, as in the novel Good Omens. Even a lot of modern possession stories just choose to dodge an explanation of Devil or Hell — Demons are “something otherworldly” and malevolent, and that’s that.

The only major exception to this I can think of in novels is so-called “Christian Lit” where the Devil is very much real, there’s very much a battle, but it is also all very black and white… and strangely it all makes exactly sense via the lens of American conservative Evangelicalism.  The Devil is pretty much behind everything bad about the modern world, and the angels those sweet, lovely people you see in card shops….

Yeah, forget all of that.

To understand what is happening in Buehlman’s world, you need to look at evil and Hell through medieval eyes. These are the tormentors of Dante, and the fever dreams of Bosch; these are the fallen angels in the famous 14th-centurty Apocalypse Tapestries in Anger and the tempters of medieval romance: monsters horrible to behold, wielders of glamour and deception, doomed creatures eternally hopeful of overthrowing their Creator — or to at least have vengeance via the destruction of His favored creature: Mankind. You cannot reason with them, you cannot win a contest of bargaining, they are incapable of mercy, and you cannot truly comprehend them for they are made of a different sort of spiritual stuff than you are.

But worst of all, the Devil “doesn’t make you do it.” You do it because the capacity for Evil is in you, and devils merely know just how to bring that out.

And the Angels?

Sure, angels sometimes walk among men in human form — see the Annunciation — but that is not their true form, nor how they appear when they represent the Creator’s divine wrath. The angels you will meet herein are the cherubim and seraphim that destroyed Sodom and Gomorrah, the heavenly warriors of Revelations and the Book of Daniel — creatures so powerful and alien to the mortal world that they are “terrible to behold.”

Lovecraft has nothing on them with his servitors of the Outer Gods in terms of weirdness, and when Heaven does  make its presence known, it is decidedly not Gandalf’s arrival on the third day with the Rohirrim at Helm’s Deep. Instead, readers become reminded how the words awe and awful are related terms.

A Medieval Mystery Play

But what makes Between Two Fires so much more than the sum of its parts isn’t the way Buehlman reworks these tropes, but instead, well-versed in Tudor literature and medieval history, how he casts his story in the form of a medieval saints play and a medieval morality play.

Saints plays were stories highlighting the moments in a Saint’s life that were notable to their elevation — their martyrdom, miracles, etc. — and was a creative way to teach such to the faithful, although the plays themselves soon became secular. On one hand, this is very much the story of Delphine, who claims to talk to God, and who, if she is not mad, is the one person with the knowledge to prevent Hell’s triumph.

Morality plays, were more complex: an allegory, told through drama, and like most medieval quest literature, was written to be understood on more than one level. Its characters are personified abstractions with a protagonist who represents either humanity as a whole (Everyman) or an entire social class (as in Magnificence). Antagonists and supporting characters are not individuals, per se, but rather personifications of abstract virtues or vices, especially the seven deadly sins. Most often, morality plays were an externalized dramatization of a psychological or spiritual struggle: “The battle between the forces of good and evil in the human soul.”

The driving force is the hero’s own internal flaws and his struggle to overcome them. Perhaps the most famous of these, The Castle of Perseverance, is one of the oldest and is about the battle between vice and virtue, the mixing of allegorical and diabolical figures, and the enactment of Death and Judgment, with Good and Bad Angels on either side.  This is literally the ride we are on with Thomas during the novel’s course.

I am not sure whether or not this was all consciously in Buehlman’s mind as he wrote, but it does not matter: a medieval morality play is exactly what he has written, only for the modern agnostic living in a world very much sure of its materialism, not always comfortable with its inner life.  Between Two Towers is packed not with assurance, but with crisis. This is a story about inner struggle — with failure, with self-worth and self-identity, with hope, and indeed, with faith. That seems an odd thought in a story where literal devils are running amok, but as we are told at the start of the tale…”and Heaven made no answer.”

There is much of that problem in this story: how does one believe in God, or let us say godliness, when so much evil prevails. It’s a very inward-looking novel… told in the midst of a dark fantasy with monsters and battles. It is not a religious novel — the story will take its shots at religion, but also ruminate on its worth, but it is a deeply spiritual one in the oldest sense of that word.

That’s the best you can ask from a novel.

I have to emphasize that while I’ve called this Buehlman’s first fantasy novel, the horrific elements are truly horrible. I will not tell you much other than to say that from a literal “noble court of the damned” to a river monster, to the final denouement in Avignon, the scenes with the powers of Heaven & Hell are truly disturbing, relentless and at times, terrifying — the stuff of nightmares.

But then, what devils are more terrible than those that dance inside our own troubled minds?

Categories: Fantasy Books

Comment on A Beginner’s Guide to Drucraft #44:  Life Sigls (I) by Brianna

Benedict Jacka - Fri, 03/27/2026 - 23:24

In reply to Celia.

Maybe a Light sigl that allows you to project a blinding field around an enemy’s eyes, similar to the Haywire Stephen uses to mess with strength sigls?

Categories: Authors

Hellooooo! I love your books, you are one of my favourites writers. My question is: is Livvy going to stay with Ty the whole time in tlkof? Will she ever be separated from him in a way that seriously affects them both?

Cassandra Clare - Fri, 03/27/2026 - 22:27

She is separated from him a time or two, and the separation does affect them both. It's very clear that their bond is under a lot of pressure, magically speaking.

Categories: Authors

Will Ash be as much of a fashion icon as Conor ??

Cassandra Clare - Fri, 03/27/2026 - 21:17

You know, he actually did remind me a lot of Conor while I was writing him — probably the dissipated prince thing. He definitely has nice clothes and is fashionable, and does a certain amount of complaining when his clothes are ruined, but I don't think anyone is as much of a fashion icon as Conor, though it would be fun to see if Ash could start a trend in court of like, faeries wearing cowboy hats made out of moss or something. If he wore it everyone else would probably have to.

Categories: Authors

Pages

Recent comments

Subscribe to books.cajael.com aggregator