Wed, 09 Jan

Pants - Twitter’s polygot build tool

Twitter has own build tool named Pants.

Pants is a build tool. It is similar in some regards to make, maven, ant, gradle, sbt, etc. However pants differs in some important design goals. Pants seeks to optimize for

  • building multiple, dependent projects from source
  • building projects in a variety of languages
  • speed of build execution

At a high level, Pants reads build descriptions stored in BUILD files, constructs a DAG of targets, and executes a specified set of goals against those targets.

Pants is written in Python and a BUILD file is just a Python script. Interestingly Pants introduces a way to provide an isolated Python environment. It uses “virtualenv” and Python’s executable zip file.

To be honest, I don’t know Python can execute zip files directly…

Digital Magazines for Programmers

If you are a programmer and want to learn English, I think magazines are good media to use English because you don’t have to read all articles in a magazine. Books are more linear than magazines.

I like Appliness and PragPub.