Sze, Tsz-Wo (Nicholas)

Sze Tsz Wo

Tsz-Wo is the founder of Apache Ratis, which is an open source Java library for the RAFT Consensus Algorithm. He has been working on Apache Hadoop since 2007. He is a Member of The Apache Software Foundation.

Email address: sze tszwo @ apache . org
Mathematics Genealogy page:
Linkedin profile:


Hong Kong University of Science and Technology B.Eng.1997 - 1999
Hong Kong University of Science and Technology M.Phil.1999 - 2001
University of Maryland, College Park Ph.D.2003 - 2007


  • A Fast Self-correcting π Algorithm
    Available at arXiv:1912.05319

  • Deterministic Primality Proving on Proth Numbers
    Available at arXiv:0812.2596

  • On Taking r-th Roots without r-th Nonresidues over Finite Fields and Its Applications
    Available at arXiv:1105.5852

Selected Publications

0x$1.00, One Hexadecimal Dollar

The 0x$1.00 check.

I have 0x$1.00 (one hexadecimal dollar) in The Bank of San Serriffe. It was awarded by Donald E. Knuth in 2012 for reporting an error in The Art of Computer Programming. The error I found was in page 453, Volume 2: Seminumerical Algorithms as indicated in the memo on the check.

The Two Quadrillionth Bit of π is 0!

We are pleased to present a new record on computing specific bits of π, the mathematical constant, and discuss performing such computations on Apache Hadoop clusters. The specific bits represented in hexadecimal are

0E6C1294 AED40403 F56D2D76 4026265B CA98511D 0FCFFAA1 0F4D28B1 BB5392B8.

These 256 bits end at the 2,000,000,000,000,252nd bit position, which doubles the position and quadruples the precision of the previous known record. The position of the first bit is 1,999,999,999,999,997 and the value of the two quadrillionth bit is 0.

The computation is carried out by a MapReduce program called DistBbp using the idle slices of the Hadoop clusters in Yahoo!. To effectively utilize available cluster resources without monopolizing the whole cluster, we develop an elastic computation framework that automatically schedules computation slices, each a DistBbp job, as either map-side or reduce-side computation based on changing cluster load condition. We have calculated π at varying bit positions and precisions, and one of the largest computations took 23 days of wall clock time and 503 years of CPU time on a 1000-node cluster.

For more details, see arXiv:1008.3171. See also our earlier results and Borwein's paper for a survey on π computation.

July 2010

When π is represented in decimal, hexadecimal and binary, we respectively have
π=3.1415926535 8979323846 2643383279 ...
=3.243F6A88 85A308D3 13198A2E ...
=11.00100100 00111111 01101010 ...
Bit position is counted starting after the radix point. For example, the eight bits starting at the ninth bit position are 00111111 in binary or, equivalently, 3F in hexadecimal.


Number theory, computer programming, swimming and running

Last updated: Sat Mar 20 12:38:15 HKT 2021