Hello! I’m Hidenori. I usually go by Hide (pronounced as HEE-Day).

Experience

  • I graduated with a degree in math from the University of Minnesota in 2016.
  • I was a software engineer at Google from 2016 to 2019.
  • A PhD student in mathematics at Duke from 2019 to 2020. (dropped out)
  • I was a software engineer for the Core team at Stellar Development Foundation from 2020 to 2023.
  • I am currently a software engineer at Succinct Labs (October 2023 - Present)

Interests

My interests lie in the intersection of software engineering, mathematics and theoretical computer science.

My main academic interest has always been in mathematics. I generally prefer finite/countably infinite/algebraic/discrete/combinatorial mathematics like cryptography/number theory to smooth/differential/uncountably infinite mathematics like data science/stats/machine learning.

My programming background is in algorithmic programming contests such as ICPC/CodeForces.

Some of the theories/theorems/algorithms that I enjoy thinking about are:

  • Math
    • Group theory
    • Point-set topology
    • Category theory
    • Matroid theory
      • Senior project. I found it interesting that matroids abstract the concept of linear algebra, and I also found it interesting that we can use matroids to prove some greedy algorithms.
    • Abel–Ruffini theorem: A polynomial of degree 5 or above has no radical solution in general
      • I first heard this in high school, and proving this theorem in college/grad school was one of the most satisfying moments I’ve had in math.
    • Cryptography
      • Currently reading An Introduction to Mathematical Cryptography.
  • Algorithms/data structures
    • Segment Tree
      • The versatility in this data structure, especially in programming contest problems, brought me a lot of joy.
      • Recently, I have come to learn that a lot of those ideas are actually used in Merkle trees in practice!
    • Disjoint set union trees
      • It’s simple yet so powerful.
    • Amortized analysis
    • Dynamic programming (Especially, bottom-up)
      • I learned the tower of Hanoi before I learned programming and I didn’t know there was a whole field behind it.
    • Floyd-Warshall algorithm
      • It’s simple yet so powerful.
    • Miller–Rabin primality test
      • So counter-intuitive in the beginning, yet it makes so much sense once you learn it.
  • Misc
    • Zero-knowledge proof
    • Formal verification of distributed system protocols
      • This is where I learned about distributed systems and their challenges. I spent about a year working on formal verification of SCP in Ivy, and it was one of the most rewarding and cool experiences I’ve had with computers.
    • Consensus protocols such as Paxos and the Stellar Consensus Protocol
    • Haskell (Functors, monoids, …)
      • Haskell was my first programming language! I learned it for fun with friends and started solving Project Euler problems.
    • Elliptic curve cryptography

Contact

My email address is whisper.pairing-0z@icloud.com.