Looking Back on November

November 30, 2025

Highlights

  • Visited Tokyo DisneySea for the first time during the holiday season!
  • Purchased a new chair for my home office.
  • Opened my own blog website finally!
    • I used to use Naver Blog but started this new blog website!
    • dan-dev.me
      • Why did I choose this domain name?... Nobody knows😅
  • Invented a safe average salary calculation algorithm in TokyoDisneySea.
    • I'll explain the algorithm later in this post.
November highlight
Christmas tree in TokyoDisneySea

Books

This month, I read...

  • パスキーのすべて
    • I work in an account platform and when I attended the internal meeting about Passkey, I couldn't understand some parts of the technical explanation. This book helped me fill in those gaps and gave me a clearer understanding of how Passkeys function in authentication systems.
  • ふつうの Linux プログラミング
    • Worked on HTTP server implementation only a little bit after work.
  • Soft Skills: The Software Developer's Life Manual
    • My team leader recommended this book to me! and started reading this book. I haven't read all of it yet, but so far, I found some of important points about carrer development.

There are other books that my team leader recommended to me and I plan to read them in the future. Some of them are about team management and leadership.

TokyoDisneySea

I went to TokyoDisneySea with the members who participated in the internal hackathon event at my company and they are my 同期!

"同期" means colleagues who joined the company in the same year.

We got a prize at the hackathon! and we went there together to celebrate our victory!

Let me share some photos from TokyoDisneySea!

Entrance at TokyoDisneySea
Entrance at TokyoDisneySea
Newyork area decorated for Christmas
Newyork area decorated for Christmas
Churros at the park
Churros
Turtle Talk show
Turtle Talk show

Some people say there is a voice actor behind Crush, but it's not. Look at this diagram! The actual Crush comes to us through a wall of glass!

This is how Turtle Talk works.

Dinner at the park
Dinner

We had a dinner at FantasySprings. This hamburger is called "Dream Burger" and it was full of dreams🤔!

Introduction to Safe Average Salary Calculation Algorithm

While having the dinner in TokyoDisneySea, we discussed how we can calculate average salary safely without leaking individual salaries.

One of my 同期 brought up an interesting solution to calculate average salary without leaking individual salaries.

May be this algorithm is already known, but I haven't heard about it before, so let me share it here.

In this section, I will explain the algorithm.


Requirements

  • Calculate average salaries of N people without leaking individual salaries.
  • There may be someone who tries to know individual salaries maliciously.
    • The algorithm should be robust against such attempts.

Situation to consider

  • There are N people: p_1, p_2, ..., p_N
  • Calculate the average with iPhone's calculator app.
    • Each participant enters their value into the calculator app in order.

Algorithm

Algorithm explanation should be correct and understandable. so, I provide English and Japanese versions so that readers can choose the one they are more comfortable with.

Japanese Version

注意:ブラウザの翻訳機能を使うと、この日本語の説明が正しく表示されない可能性があります。一旦オフにしてから読むことを推奨します。

  1. 初期化ステップ

    • 参加者のうち 1 人が初期値seedを決め、電卓アプリに入力する。この初期値を決める人をp_seedとする。
    • seedはどんな値でも良いが、給与らしい値である必要がある。
    • seedは他の参加者に秘密にしておく必要がある。
  2. 加算ステップ(2 ラウンド行う)

    • 参加者が 1 人ずつ給与を電卓アプリに入力する。
      • しかしp_seedは一番最後に入力する必要がある。もしp_seedが 2 番目に給与入力を行う場合、p_seedp_1の給与を知ることができる。推測を難しくするために、一番最後に入力させる。
    • 2 ラウンドのうち、どちらか一方は本当の給与、どちらか一方はダミー給与を入力する。
      • どちらのラウンドで本当の給与を入力するかは参加者が自由に決めて良い。
      • ダミー給与は給与らしい値であることを推奨する。
      • 入力したダミー給与を覚えておくこと。
  3. 減算フェーズ

    • 加算フェーズで入力したダミー給与を 1 人ずつ減算していく。
  4. 平均計算フェーズ

    • 最終的な合計値を N で割り、平均給与を計算する。
English Version
  1. Initialization Step

    • One of the participants chooses an initial value called seed and enters it into the calculator app. This participant is referred to as p_seed.
    • The seed can be any value, but it should resemble a plausible salary.
    • The seed must be kept secret from the other participants.
  2. Addition Step (performed in 2 rounds)

    • Each participant takes turns entering a salary value into the calculator app.
      • However, p_seed must enter their value last. If p_seed enters their value second, for example, they would be able to learn the salary of p_1. To make inference more difficult, p_seed must always go last.
    • Across the two rounds, each participant must enter their real salary in one round and a dummy salary in the other.
      • Participants may freely choose which round contains their real salary.
      • The dummy salary should look like a plausible salary.
      • Participants must remember the dummy salary they entered.
  3. Subtraction Phase

    • Each participant subtracts the dummy salary they entered during the addition phase.
  4. Average Calculation Phase

    • Divide the final total by N to compute the average salary.

New Chair for My Home Office

Aeron Chair in mineral color

I bought the Aeron Chair above at Herman Miller Shop in Shibuya!

Herman Miller shop
Herman Miller Shop in Shibuya