- Designing Data-Intensive Applications by Martin Kleppmann (2017). This is a great technical primer on distributed systems and the algorithms that power them. Probably the single best book for quickly building understanding of how modern data systems work. Includes topics such as: RDBMS and B-tree indices, Log structured merge (Kafka, Cassandra and others), isolation levels in RDBMS, consensus systems (zookeeper).
- Fluent Python By Luciano Ramalho (2015). A bit dated but still overall the best intermediate / advanced Python book I've read.
- Unit Testing Principles, Practices, and Patterns By Vladimir Khorikov (2020). Excellent intermediate/advanced book on testing philosophy. I wrote a short blurb on it here.
Last month, I read "Unit Testing Principles, Practices, and Patterns" by Vladimir Khorikov. This is a short collection of my thoughts on this work.
Overall, I found the book to be the best intermediate to advanced works on testing that I have read. This is not your 'typical' unit testing book that first tries to convince you that testing is important, than walks you through how to create very rudimentry unit tests. Neither does it expose a particular development practice like TDD. Rather, Khorikov starts with the premise that you already see the value in testing and are already writing tests. The goal of the book is to help you write better, more useful tests by identifying the attributes of a good test. As a developer recogonizes and understands the attributes of a good test suite and how to write one, they begin to write better, more testable code, creating a virtuious cycle in the codebase.
Khorikov's big idea comes in chapter 4, after he has described the st
''' | |
LLDB commands for debugging iOS projecs in XCode | |
References: | |
* [LLDB Python reference](https://lldb.llvm.org/python-reference.html) | |
* [LLDB Python API[(https://lldb.llvm.org/python_reference/index.html) | |
To install, put this in your ~/.iidbinit: | |
command script import [path to this file] | |
''' |
import UIKit | |
import AVKit | |
import GLKit | |
class BlurredVideoView: GLKView { | |
var player: AVPlayer! | |
var output: AVPlayerItemVideoOutput! | |
var item: AVPlayerItem! | |
var displayLink: CADisplayLink! | |