
Discover the classic, behind-the-scenes chronicle of John E. Douglas’ twenty-five-year career in the FBI Investigative Support Unit, where he used psychological profiling to delve into the minds of the country’s most notorious serial killers and criminals—the basis for the upcoming Netflix original series. In chilling detail, the legendary Mindhunter takes us behind the scenes of some of his most gruesome, fascinating, and challenging cases—and into the darkest recesses of our worst nightmares. During his twenty-five year career with the Investigative Support Unit, Special Agent John Douglas became a legendary figure in law enforcement, pursuing some of the most notorious and sadistic serial killers of our time: the man who hunted prostitutes for sport in the woods of Alaska, the Atlanta child murderer, and Seattle's Green River killer, the case that nearly cost Douglas his life. As the model for Jack Crawford in The Silence of the Lambs, Douglas has confronted, interviewed, and studied scores of serial killers and assassins, including Charles Manson, Ted Bundy, and Ed Gein, who dressed himself in his victims' peeled skin. Using his uncanny ability to become both predator and prey, Douglas examines each crime scene, reliving both the killer's and the victim's actions in his mind, creating their profiles, describing their habits, and predicting their next moves.
Mindhunter: Inside the FBI's Elite Serial Crime Unit by John E. Douglas and Mark Olshaker
Nuclear War: A Scenario by Annie Jacobsen
Night by Elie Wiesel
I'm Glad My Mom Died by Jennette Mccurdy (A re-read. Read it first in 2022)
Nuclear War: A Scenario by Annie Jacobsen
Animal Farm by George Orwell (a reread)
Night by Elie Wiesel
A comic about comics, but I don’t think you have to enjoy the medium to get something out of the book. If you enjoy exploring subjects to their core, give it a shot.
2. The Sculptor, by Scott McCloud
The latest fiction graphic novel by the person who wrote a seminal book on comics. No surprise it does a lot of things right.
3. S-Town, by Brian Reed
Technically a podcast, but it was released all at once and is a contained story that lasts for seven hours. I’d say a fairer assessment would be to call it a well produced non-fiction audiobook, which is what you’d expect from the producers of Serial and This American Life. When I recommend it I always tell people to give it until the end of the second episode before deciding if they’ll stick with it.
4. Mindhunter, by John Douglas
Enjoyed the Netflix show? There’s a good chance you’ll enjoy this.
Mindhunter: Inside the FBI's Elite Serial Crime Unit by John E. Douglas and Mark Olshaker..
Everything is Tuberculosis by John Greene.
Nuclear War: A Scenario by Annie Jacobsen..
On Tyranny: Twenty Lessons from the Twentieth Century by Timothy D. Snyder.
Animal Farm by George Orwell.. (a re-read)
Fahrenheit 451 by Ray Bradbury.
1984 by George Orwell. (a re-read)
Night by Elie Wiesel..
Flowers for Algernon by Daniel Keyes.. (a re-read)
When Breathe Becomes Air by Paul Kalanithi.
Frankenstein; or, The Modern Prometheus by Mary Shelley.. (a re-read)
I'm Glad My Mom Died by Jennette Mccurdy.. (a re-read)
If you're interested, check out my blog post where I talked about some of the mentioned books here -
This project started out as a markup language for writing the docstrings of functions that would ultimately be consumed by a documentation generator. Basically the idea was to split a docstring into sections like Description and Parameters. Each section would consist of a header in square brackets and a body (lines of text between two headers).
Here's what a docstring for a sum function would look like:
This function takes in two integers a and b and returns their sum.
[parameters]
- a: First integer
- b: Second integer
[return]
Sum of a and b
The Description section in the example above is actually an anonymous section, i.e., a section with an empty header.Meanwhile, I was thinking of a way to automate part of my dev workflow by storing in a file commands grouped into tasks such as project creation, build, testing, release, et cetera. Similarly with the markup language for my documentation generator, I would use square brackets to define the tasks. Thus, a task would consist of a header and a body which would be a list of commands to be executed sequentially.
I built this project and named it Backstage. Here is a hypothetical backstage.tasks file:
[release]
& test
& generate_doc
& git_stuff
& build
# upload to PyPI
$ twine upload --skip-existing dist/*
[git_stuff]
$ git add .
$ git commit -m {message}
$ git push origin master
The example above is illustrative only and would not work. It contains 2 sections "release" and "git_stuff". Running the "release" task from the command line is equivalent to sequentially executing the commands in the "release" section.The documentation generator and the scripting language, despite the obvious similarity in their formats, did not share any parsing code. So, to stop repeating myself, I created a file format and its library named Jesth which stands for "Just Extract Sections Then Hack".
The library acts as an incomplete INI file parser that only hands the programmer the sections (as headers and their associated bodies which are lists of strings). No further interpretation of the data is done by the parser, allowing the programmer to unleash their creativity through useful hacks.
In its latest iteration, Jesth has matured and also includes a proper and extensively tested hack to convert a compatible section into a dictionary data structure, making Jesth my de facto preferred format for config files. I find Jesth more readable than TOML, YAML, and JSON.
Here, encoding a dictionary data structure in its own section with another section containing a prompt for ChatGPT:
[prompt]
I want you to act as a detective story writer. I will provide you with
two dictionary data structures representing the profiles of two people.
Your goal is to write a thrilling neo-noir story. My first request is:
"guess who the killer and victim is from the profiles, then build a story
that includes every detail of the profiles".
[profile]
# This section can be converted into a dictionary data structure
name = 'Jane Doe'
birthday = 2000-12-23Z10:17:37Z
photo_jpg = (bin)
VGhpcyBpcyBub3QgYSBwaG90by4uLiBCdXQgdGhhbmsgeW91
IGZvciB5b3VyIGludGVsbGVjdHVhbCBjdXJpb3NpdHkgOyk=
---
books = (dict)
romance = (list)
'Happy Place'
'Romantic Comedy'
sci-fi = (list)
'Dune'
'Neuromancer'
epitaph = (text)
According to the law of conservation of energy,
no a bit of you is gone;
you are just less orderly.
---
[profile]
name = 'John Doe'
birthday = null
books = (list)
'American Predator'
'Mindhunter: Inside the FBI's Elite Serial Crime Unit'
You can learn more by reading the project's README and playing with the demo.Let me know what you think of this project.