## How to calculate A * B mod N, where numbers are 64 bit integers

I made a program to calculate ‘A * B mod N’, where A, B and N are 64 bit integers.

Main problem is to avoid overflow when calculate ‘A * B’.

I searched a while and finally decided to use the interleaved modular multiplication method, which is used in the feild of electric circuit design.

~~I found some bugs when I tested corner cases, so I have to fix them [2018.9.2].~~
~~I think I’ve fixed them [2018.9.3].~~
I’ve just
improved it! [2018.9.5]

The program is shown below:

## postgres cluster management system in GoCardless

I found an interesting postgres cluster management system using Pacemaker. It is created by GoCardless. They provide a vagrant box, so we can play and learn it easily.

## When should I do VACUUM FULL?

There is unfortunately no best practice when you should execute “VACUUM FULL”. The extension pg_freespacemap however gives you suggestion.

## Blind-Deblurring System

At the end of 2014, I was shocked at the progress of blind deblurring algorithm, so I studied the recent researches in this field.

I read many papers and made a system based on this paper: “Blind deconvolution using alternating maximum a posteriori estimation with heavy-tailed priors”.

## Customized Statistics Views in PostgreSQL

I always use my customized statistics views shown below because the original ones provide only minimum information.

I show my tools in this post.

## Difference between PostgreSQL and MySQL: (1) Replication

Many people around the world admire the Uber’s article “Why Uber Engineering Switched from Postgres to MySQL”, but I think this article contains many mistakes. So, I’m going to provide correct information regarding to PostgreSQL and MySQL.

In this post, I explain the replication of both databases.

## Testing PostgresPro's pg_arman with ptrack

In this week end, I tested PostgresPro’s pg_arman with ptrack. Speaking from the conclusion, it works well.

## CentOS with GNOME desktop on Vagrant

I made a CentOS vagrant box which contains GNOME desktop environment, so I will show how to use and to make it.

## PLpgSQL QUIZ

I found an interesting quiz about PLpgSQL.