About
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.
- Segment Tree
- 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.