Plurrrr

Tue 29 Dec 2020

Some Git

In the afternoon I needed to find to which branch a commit belonged to. Since I already had done the same command about 2 weeks ago I still could remember it:

git branch --contains <commit>

A little later I needed to find the commit that had deleted a few lines of code in a given file. Since one line contained a unique string I could use:

git log -S <string> path/to/file

Later on I needed to revert a commit, so I used:

git revert <commit>

NumPy Illustrated: The Visual Guide to NumPy

NumPy is a fundamental library that most of the widely used Python data processing libraries are built upon (pandas, OpenCV), inspired by (PyTorch), or can efficiently share data with (TensorFlow, Keras, etc). Understanding how NumPy works gives a boost to your skills in those libraries as well. It is also possible to run NumPy code with no or minimal changes on GPU.

The central concept of NumPy is an n-dimensional array. The beauty of it is that most operations look just the same, no matter how many dimensions an array has. But 1D and 2D cases are a bit special.

Source: NumPy Illustrated: The Visual Guide to NumPy, an article by Lev Maximov.

Computer Science textbooks that are freely available online

Below is a loosely-categorized collection of links to CS textbooks in a variety of areas that are freely available online, usually because they are one of the following:

  • An open textbook (such as PLAI, SF, or the HoTT book)
  • An older book that is out of print, for which the copyright has returned to the original author(s) (such as TTFP)
  • An author’s own preprint or draft of a textbook. This includes cases where the author has made special arrangements with a publisher to host an electronic copy of a published text on their homepage while it remains in print.

Most of these I’ve only used for brief personal reference, and have not read in depth. The exceptions, those books I’ve spent considerable time with and highly recommend, are marked with asterisks.

I also include below a list of papers I consider good stand-alone introductions to certain topics, and a list of links to thorough special topics courses.

Source: Electronic References, an article by Colin Stebbins Gordon.

json-diff

There are a lot of tools that diff json, but only json-diff makes it easy to write programs to process the diff output. In this post, we’ll explore json-diff, how to use it and how to write programs that use its output.

Source: json-diff, an article by Tyler Adams.