Editing Descriptions of Jira Issues in Vim

Let’s see how to edit descriptions of Jira issues in Vim or Neovim. We will do this by installing a browser extension that can open text fields in an external editor. We will also cover how to make Jira issues syntax-highlighted in Vim, how to enable spell checking, and how to use snippets to speed up the writing of Jira issues. The approach described in the blog post can be used to edit text fields on other sites as well, such as GitHub or Stack Overflow.
Read More

On Incomplete HTTP Reads and the Requests Library In Python

The requests library is arguably the mostly widely used HTTP library for Python. However, what I believe most of its users are not aware of is that its current stable version happily accepts responses whose length is less than what is given in the Content-Length header. If you are not careful enough to check this by yourself, you may end up using corrupted data without even noticing. I have witnessed this first-hand, which is the reason for the present blog post. Let’s see why the current requests version does not do this checking (spoiler: it is a feature, not a bug) and how to check this manually in your scripts.
Read More

Implementing multiprocessing.pool.ThreadPool from Python in Rust

In this post, we will implement multiprocessing.pool.ThreadPool from Python in Rust. It represents a thread-oriented version of multiprocessing.Pool, which offers a convenient means of parallelizing the execution of a function across multiple input values by distributing the input data across processes. We will use an existing thread-pool implementation and focus on adjusting its interface to match that of multiprocessing.pool.ThreadPool.
Read More