August 2023 Summaries
2 posts from Aviator
Filter
Month:
Year:
Post Summaries
Back to Blog
Git compresses files by storing only the differences between versions using a rolling hash method and heuristics to pick files for compression. The rolling hash works by comparing chunks of files and finding similarities, while the heuristics consider factors such as file name similarity, growth over time, recent versions being accessed more frequently, and keeping deltas shallow. These insights help Git compress files efficiently, making it a subtle yet interesting topic that can be applicable to other caching systems.
Aug 15, 2023
1,487 words in the original blog post.
Flaky tests are non-deterministic tests that can be intermittently passing or failing, making test results unreliable. They can decrease developer productivity, increase diagnostics time, and lead to user dissatisfaction. Flaky tests can be caused by shared state resources between tests, unreliable third-party APIs, infrastructure issues, flaky UI tests, and poor test writing practices. To manage these causes, developers can use synchronization blocks, change the test to accept a wider range of behaviors, remove dependencies between tests, explicitly set static variables, use resource pools, and communicate with third-party providers. Additionally, monitoring test health, having short-term and long-term mitigation strategies in place, and using tools like Aviator TestDeck can help manage flaky test infrastructure better.
Aug 09, 2023
1,169 words in the original blog post.